Skip to main content

Full text of "Compute! Magazine Issue 026"

See other formats


IRA  Planner:  A  Financial  Planning  Tool  For  Radio  Shack  Color  Computer,  Atari,  Apple,  PET/CBM,  VIC,  And  OSI 


COMPUIG 

The  Journal  For  Progressive  Computing 


$2.50 

July 
1982 
Issue  26 
Vol.  4  No.  7 

63379  £1.85  in  UK 


Gold  Rush 

Action  Game  For 
Atari  And  VIC 

Atari  Video 
Graphics:  An 
In-depth  Tutorial 

An  Apple  DOS 
Changer: 
Protect  Your  Disks 
From  Accidental 
Erasure 

Super  QuadraPET 

Independently 
Partitioning 
PET/CBM  Memory 

Whither  VIC: 

An  Overview 

OtThe 

VIC-20  Computer 


Il74470l'63379' 


0  7 


Reviews:  Caverns  of  Mars 
for  Atari,  Two  VIC-20  Games, 
Softbox-CP/M  for 
PET/CBM,  and  more 


Introducins  the  PERCOM 
Alternative  to  ATARI  Disk  Storage 


Your  Atari  800  is  the  finest  home  computer  on 
the  market.  Now  you  can  own  a  floppy  disk 
system  that  measures  up  —  an  RFD  mini-disk 
storage  system  irom  Percom. 

At  Percom  we've  been  making  disk 
storage  systems  since  1 977. 

Our  designs  are  proven,  our  quality  is 
well  known.  And  we  back  our  dealers  with 
service  know-how.  Expect  more  from  Percom. 
You  won't  be  disappointed. 

•  Operate  in  either  single-  or  double-density 
storage  mode  using  Atari  DOS  2.0S.  In 
double-density  you  can  store  almost  184 
Kbytes  (lormalted)  on  one  side  of  a  40- 
track  diskette. 


Connect  your  Percom  RFD  first-drive 
system  directly  to  your  computer  or  connect 
into  your  system  ttirough  your  Atari  810 
Disk  Drive. 

Add  an  RFD  first-drive  system  with  its 
versatile  four-drive  controller,  then  connect 
as  many  as  three  more  low-cost  RFD  add- 
on drives. 

Write  application  programs  that  can  query 
and  set  up  your  system  to  operate  a  differ- 
ent type  drive  at  each  cable  position  ~  that 
can  even  change  configuration  as  the 
program  executes. 


•  Get  quality  and  state-of-the-art  capability  at 
competitive  prices.  Percom  first-drive  RFD 
systems  are  priced  from  only  $799,  add-on 
drives  from  only  $399. 
Watch  for  announcement  of  a  new,  power- 
ful, easy-to-use  disk-operating  system  for 
your  Percom-equipped  Atari  800  computer. 

tvltnimum  system  requirements  —  are  an  Atari  800 
computer  witti  24-Kt)y!es  of  RAM  and  compatible 
video  display  system:  Atari's  disk-operating  system 
(ver  2.0S)  and  owner's  manual:  and.  (or  add-on 
drives  {il  used)  an  optional  disk  drives 
interconnecting  cattle  availatjie  from  Percom. 


For  the  best  thing  next  to  your  computer,  see  your  Atari  dealer 
about  a  Percom  RFD  floppy  disk  storage  system.  For  the  name 
of  your  nearest  dealer,  call  Percom  toll-free  1-800-527-1222. 


PRICES  AND  SPECIFICATIONS 

SUBJECT  TO  CHANGE 

V/ITHOUT  NOTICE. 


f      Yes  ...  I'd  like  to  know  more  about  Percom  HFD  disk 

drives  (or  my  Atari  800  Computer.  Rush  me  Iree  literature. 
Send  to:  PERCOIUI  DATA  COMPANY.  Inc.  Dept    18-COI 
1T2?0  Pagenniil  Road.  Dallas,  Texas  75243 


PERCOM  DATA  COMPANY.  itSIC. 

HaSOPAGEMILL  BO  -DALLAS    TX  75243  -  I21<1!  340-7081 


ATARI  800  &  ATARI  810  are  trademarks  of  ttie  Atari  Corporation. 
PERCOfiil  is  a  trademark  of  Percom  Data  Company,  Inc. 


name 

street 

cily 

state 

zip                               phone  number 
1  plan  to  add  a  hard  disk  system  lo  my  Atari 
MAIL  TODAY! 

I  Bli  ■■  ^m  warn  ■■  ■■■  an  ^m  ^m 

"~i  yes    n  no. 

IF  YOU'RE  WAITING  FOR  THE 

PRICE  OF  WORD  PROCESSORS 

TO  FALL  WITHIN  REASON. 


nttJi 


Everyone  expected  it  would  happen 
sooner  or  later. .  .witti  ■■.    i  iPr     ^^  i  i    • 
it  already  hias!  Now  all  the  marvelous 
benefits  of  expensive  and  advanced 
word  processing  systems  are  available 
on  Commodore  computers,  America's 
largest  selling  computer  line.  WordPro 
PLUS,  when  combined  with  the  new  80 
column  CBM  8032,  creates  a  word  pro- 
cessing system  comparable  to  virtually 
any  other  top  quality  word  processor 
available— but  at  savings  of  thousands 
of  dollars! 


{ 

New.  low  cost  computer  technology  is 
now  available  at  a  fraction  of  what  you 
would  expect  to  pay.  This  technology 
allowed  Commodore  to  introduce  the 
new  and  revolutionary  CBfvl  8032 
Computer. 

WordPro  PLUS  turns  this  new  CBM 
8032  Computer  into  a  sophisticated, 
time  saving  word  processing  tool.  With 
WordPro  PLUS,  documents  are  dis- 
played on  the  computer's  screen.  Edit- 
ing and  last  minute  revisions  are  simple 
and  easy.  No  more  lengthy  re-typing 
sessions.  Letters  and  documents  are 
easily  re-called  from  memory  storage 
for  editing  or  printing  with  final  drafts 
printed  perfectly  at  over  five  hundred 
words  per  minute! 


Our  nationwide  team  of  professional 
dealers  will  show  you  how  your  office 
will  benefit  by  using  WordPro  PLUS.  At 
a  price  far  less  than  you  realize. 


Invest  in  your  office's  future. . . 
invest  in  WordPro  PLUS. . . 
Call  us  today  for  the  name  of  the 
WordPro  PLUS  dealer  nearest  you. 


Professional  Software  Inc. 

51  Fremont  Street 
Needham,  MA  021 94 
(617)444-5224 
TELEX:  95  1 579 


TM  WordPro  is  a  Reglslaretf  Trademark  of  Professional  Software,  Inc.  WordPro  was  wriiten  by  Stave  Punier. 
All  spacillcatlons  subject  lo  change  iwftiout  notice. 


Foi  the  Commodore  8000 


Now  there  is  an  interactive 
General  Accounting  System 
designed  especiaiiy  for  the 
first  time  user.  The  user  is  led 
through  each  function  by 
highlighted  prompts  explain- 


ing the  required  input  at  each 
point.  And  all  input  requests 
are  prompted  with  complete 
verification.  Plus,  a  step-by- 
step  instruction  manual 
guides  the  user  through  the 


General  Ledger 

Cash  Disbursements  and 
Cash  Receipts  Journal  as  wel 
as  a  General  Journal.  Main- 
tains account  balances  for 
Present  Month,  Quarter  to 
Date  and  Year  to  Date. 
Accepts  postings  from 


program.  The  user  prompts 
and  the  detailed  manual 
make  it  virtually  impossible 
for  the  first  time  user  to  get 
lost  or  to  accidentally  crash. 


Accounts  Receivable, 
Accounts  Payable,  Payroll 
and  other  programs.  Also 
provides  user  customized 
financial  statements.  CJp  to 
1000  accounts  and  up  to 
99  departments. 


'■^•sfK;.:- .  .„  u.. 


sm^^ 


:--^^^^^ 


Series  Computer  System 


Accounts  Receivable 

Invoices  and  Monthly  State- 
ments as  well  as  Credit  and 
Debit  Memos.  Accomodates 
full  or  partial  payments.  User 
sets  finance  charge  rate  and 
period.  User  also  sets  invoice 
aging  reports  and  aging 
breaks.  Invoices  may  be  dis- 
tributed among  nine  different 
General  Ledger  accounts  with 


Accounts  Payable 

Accounts  Payable  checks 
with  full  voucher  detail. 
Detailed  check  register.  Auto- 
matic application  of  Credit 
Memos.  User  sets  invoice 
aging  reports  and  aging 
breaks.  Invoices  may  be  dis- 

Payroll 

Payroll  checks  with  full 
deductions  and  pay  detail. 
Pays  regular,  overtime, 
holiday  and  piece  work  hours. 
Accommodates  Weekly, 
Bi-Weekly,  Semi-Monthly  and 
Monthly  employees.  Op  to 
eight  miscellaneous  deduc- 
tions or  payments  per 


automatic  updating  to  the 
General  Ledger.  During 
invoice  data  entry  the  invoice 
is  displayed  on  the  screeri 
and  typed  exactly  as  if  in  a 
typewriter.  File  capacity 
allows  1800  customers  and 
invoices.  Five  hundred 
customers  allows  room  for 
1300  invoices. 


tributed  among  nine  different 
General  Ledger  accounts  with 
automatic  updating  to  the 
General  Ledger.  File  capacity 
allows  2500  vendors  and 
invoices. 


employee.  Prints  Payroll 
Journal,  Payroll  Check 
Register  and  an  Absentee 
Report  as  well  as  941  infor- 
mation and  W2  forms.  Main- 
tains Monthly,  Quarterly  and 
Yearly  totals  for  up  to  350 
employees.  Automatic 
General  Ledger  updating. 


See  your  nearest 
Commodore  dealer  for 
a  demonstration. 


CMS  Soft:v\/are  Systems 

2204  Camp  David     Mesquite,  TX.  75149     214  285-3581 


Memory  —  you  never  seem  to  have  quite 
enough  of  it. 

But  if  you're  one  of  the  thousands  of  Apple 
owners  using  the  SoftCard,  there's  an  economical 
new  way  to  expand  your  memory  dramatically. 

16K  ON  A  PLUG-IN  CARD. 

Microsoft's  new  RAMCard  simply       ** 
plugs  into  your  Apple  II,*  and  adds  16k 
bytes  of  dependable,  buffered 
read/write  storage. 

Together  with  the  SoftCard,       ^ 
the  RAMCard  gives  you  a  56k 
CP/M®  system  that's  big  enough 
to  take  on  all  kinds  of  chores  that 
would  never  fit  before  (until  now, 
the  only  way  to  get  this  much 
memory  was  to  have  an  Apple 
Language  Card  installed).  '^ 

GRiAT  SOFTWARE: 
YOURS,  OURS,OR  THEIRS.       ^ 

With  the  RAMCard  and  i^ 

SoftCard,  you  can  tackle  large- 
scale  business  and  scientific 
computing  with  our  COBOL  and       | 
FORTRAN  languages.  Or  greatly      -'^ 
increase  the  capability  of  CP/M  •; 


applications  like  the  Peachtree  Software  account- 
ing systems.  VisiGalc™  and  other  Apple  software 
packages  can  take  advantage  of  RAMCard  too. 

And  RAMCard  gives  you  the  extra  capacity  to 
develop  advanced  programs  of  your  own,  using  the 
SoftCard  and  CP/M.  Even  with  the  RAMCard  in 
place,  you  can  still  access  your  ROM  BASIC 
and  monitor  routines. 


JOIN  THE  SOFTCARD 
FAMILY. 

The  RAMCard  is  just  the 
latest  addition  to  the  SoftCard 
family  —  a  comprehensive  sys- 
tem of  hardware  and  software 
that  can  make  your  Apple  more 
versatile  and  powerful  than  you 
ever  imagined. 

Your  Microsoft  dealer  has  all 
the  exciting  details.  Visit  him 
soon,  and  discover  a  great  idea 
that  keeps  getting  better. 
I  Microsoft  Consumer 

I    Products,  400 108th  Ave.  N.E., 
-     '    Suite  200,  Bellevue,  WA  98004. 
_4  (206)454-1315. 


.  _ .     .1 
■    I     1  * 


^IIQn09DrT 


July,  1982,  Issue  26 


COMPUTE! 


Table  of  Contents 


July,  1982    Vol.4,  No. 7 


Features 

Gold  Rush! Joseph  Weber, 

IRA  Planner Richard  and  Betty  Givan, 

Maze  Race Mike  Peterson, 

Test  RAM  For  Bad  Bits,  Nondestructively Leo  j.  Scan  Ion. 

Education  And  Recreation 

Recursive  BASIC  Subroutines Earl  Wuchter, 

Screen  Graphics lanPaull, 

Answer  Selection  With  Joysticks  Stephen  Levy, 

Apple  Gome  Paddles  John  K.  Elberfeld, 

Computing  Techniques  For  The  Handicapped  George  Leotti, 

Multidigit  Addition  Zolton  Szepesi, 

Reviews 

Caverns  Of  Mars Charles  Brannon, 

Two  Programs  From  TtieVlC  Six  Pack  Harvey  Herman, 

SoftBox:  CP/M  For  PET/CBM Richard  Mansfield, 

SYSRES  For  PET/CBM Charles  Brannon,  186 

Fun  With  Microcomputers  And  BASIC Fred  D'Ignazio,  187 

,'v~  ■"■  ■  •  -^nd  Departments 

The  Editor's  Notes Robert  Lock 

Ask  The  Readers  Robert  Lock,  Richard  Mansfield,  and  Readers, 

Computers  And  Society David  Thornburg, 

The  Beginner's  Page:  Making  Files  Work Richard  Mansfield, 

Friends  Of  The  Turtle David  Thornburg, 

The  World  Inside  The  Computer Fred  D'Ignazio, 

Leorning  With  Computers Glenn  Kieiman, 

Telecommunications:  Choosing  A  Modem Michael  Day,  122 

Machine  Language:  First  Steps Jim  Butterfield,  150 

Insight:  Atari Bill  Wilkinson,  165 

The  Journal 

A  Direct  Access  File  Editor Charles  Brannon,    97 

MicroDOS Dennis  Keathley,  106 

Whither  VIC  Jim  Buttertieid,  112 

Super  QuadroPET  David  Sale,  116 

Apple  DOS  Changer  Robert  Swirsky,  121 

Atari  Video  Graphics  And  The  Nevi^GTIA Craig  Chamberlain,  124 

All  About  PET/CBM  Character  Sets  Louis  F.  Sander,  130 

Language  Lob Steve  Steinberg!  142 

VIC  Super  Expander  Memory  Map Chuon  Chee,  144 

Atari  Variable  Table  Refresh  And  Program  Backup  Jon  Harding,  151 

Hovi/  To  Use  The  6560  Video  Interface  Chip Date  Gilbert,  154 

Machine  Longuage  Compactor David  L.  Evans.  159 

The  FORTH  Page:  Headless  Metacompilation  Richard  Mansfield,  174 

Resource  Part  1:  Mapping  Machine  Language  Code  I R.  Berger,  175 

COMPUTERS  Listing  Conventions  iS8 

191 

CAPUTE!:  Modifications  Or  Corrections  To  Previous  Articles    190 

Advertisers  Index 208 


Guide  To  Articles 

And  Programs 

Computer 

Multiple 

Specific 

Computers 

27 

* 

34 

• 

40 

« 

46 

<• 

58 

# 

68 

* 

84 

V/AT 

92 

AP 

94 

• 

96 

PA/ 

183 

AT 

184 

V 

185 

P 

186 

P 

187 

« 

6 

12 

18 

22 

64 

76 

88 

AT 

P/AT 
AT 

V 

P 

AP 
AT 

P 
AT 

V 
AT 


AP = Apple,  AT = Atari,  P  =  PET/CBM,  V = VlC-20, 0  =  OSI,  C  =  Radio  Shiack  Color  Computer, '  =  All  or  several  Of  the  above. 


COMPUTE!  The  Journal  for  Progressive  Computing  (USPS:  537250)  i.s  jniliiisliccl  I'i  times 
each  vciiV  by  .Sitiall  Sy.slcm  Servkx-s.  Inc.,  I'.O.  Bon  ,i'K16,  Greensboro,  NC:  27-UK  USA.  Phone: 
(919)27.')-<)<S(I9.  LditoiialOfliccsaie  lociUfcl  M  1)2.t  Kulton  Street.  Ciieeirshoio,  \t:  'i7-4ll3. 
Doniesiif  .Stibst  rijjtions:  12  is.sncs,  S2().<H1  Send  siibsiri|>tion  orders  on  l>;iiine  or:Kidres,s 
(I'.O.  loiiii  ;i37'.l)  to  C;itxul.itioii  De])i..  COMPUTE!  MaKii/ine.  51.")  .XblKut  l)ii\e,  ISroniiiall.  PA 
l<)()(lfi.  .Second  ci.-i.ss  ixisiage  [)aid  at  Cieeiisboru,  \C.  27-103  and  aiidilion:il  in;jiljiij>  oKiees. 
Kntirei-()niem,s  copvrighl  ©  HtS2  bv  .Sni;ill  .Svsleni  Services.  Inc.  .Ml  Ri'dils  reserved 
ISSN' 0194-3.^7X.    ' 


TOLL  FREE 

Subscription 

Order  Line 

800-345-8112 

lnPAM0-M2-2444 


coMPura 


COMPUTfi 


July,  1982,  Issue  26 


'  A  Brief  Overview 
Of  The  Chicago  Consumer  Electronics  Show 
And  Notional  Computer  Conference  In  Houston 

Robert  Lock,  Publisher/Editor  and  Tom  Halfhill,  Features  Editor 


I  don't  know  why  they  ended  up  holding  these  two  significant  shows  on  overlapping  days,  but  it  made 
for  some  extremely  hectic  traveling.  1  otn  Halfliill,  our  new  Features  Editor,  will  describe  the  shows  and 
new  products  in  much  more  detail  next  issue  (both  shows  are  still  in  progress),  but  we  thought  you'd 
enjoy  a  tantalizing  preview. 

Commodore's  Third  Generation 


In  this  partial  list 

oti 

eatures  vou 

'11  be  able  to  discern  the  impact  c 

f  the  Commodore  introductions.  Tom 

will  fill  in  the  blanks 

next  month 

BX256 

B128 

"P"  Series 

64 

MAX 

Integral 
Monitor 

80X25 

80X25 

40X25 

40X25 

40X25 

Green  E 

'hosphor 

External  color  (not  included) 

Dual  Disks 

yes 

yes 

optional 

optional 

optional 

cassette 

Standard 

RAM 

256K 

I28K 

128K 

64K 

unknown 

Colors 

N/A 

N/A 

16 

16 

unknown 

Graphics 

Resolution 

N/A 

N/A 

320X200 

320X200 

unknown 

CP/M 

Compatible 

yes 

optional 

optional 

optional 

N/A 

Interfaces: 

IEEE-488 

yes 

yes 

yes 

accepts 

VIC  peripherals 

CBM  peripherals 

optional 

N/A 

RS-232 

Yes 

Yes 

Yes 

unknown 

N/A 

Standard 

Language 

BASIC  4. 

Q           BASIC  4.0 

BASIC  4.0 

A  BASIC 

Version 

Described 

As  Compatible 

In  Most  Ways 

With  4.0 

BASIC 

Cartridge 

Available 

Planned  Retail: 

$2995 

$1695 

$995 

$595 

$179.95 

Scheduled 

Release: 

fall 

fall 

fall 

July/August 

I 


t  ^■'mt-  ss^ ' '?:4S-^fes*^^£^-  --" 


^■m 


??l«r^-> 


_^2 


^Diskette 


MORE  THAN  EVER,  ATARI  HOME  COMPUTERS 
ARE  SPEAKING  YOUR  LANGUAGE. 


With  more  program  languages  than  ever  to  choose 
from,  you  now  nave  more  opportunities  than  ever  to 
utilize  the  amazing  capabilities  of  the  ATARI  800™ 
Home  Computer. 

Whether  youVe  a  beginning  programmer,  or  at  the 
forefront  of  the  art,  you'll  find  an  ATARI  program 
language  that  can  make  your  task  quicker  and  simpler 
than  ever  before.  Just  look  at  what  ATARI  has  to  offer: 
ATARI  Microsoft  BASIC— Now  we  offer  the  industry 
standard,  most  powerful  Microsoft  BASIC  yet.  With 
simple  commands,  it  allows  you  to  take  advantage 
of  unique  ATARI  hardware  features  such  as  our  well- 
known  player/missile  graphics.  For  ease  of  program- 
ming, it  includes  n-dimensional  arrays  for  numerics 
and  string  handling.  And  importantly,  conversion 
procedures  are  simple. 

ATARI  Macro  Assembler™— Faster  and  more  power- 
ful than  any  ATARI  language  before,  the  ATARI 
Macro  Assembler  also  allows  you  to  access  more 
memory  space.  And  it  s  excellent  for  I/O  interface 
and  manipulation  of  such  features  as:  player/missile 
graphics,  sound  registers  and  peripherals.  In 
addition,  the  macro  processor  and  "include"  file 
library  features  speed-up  program  development 
considerably 

Fig-FORTH— For  specialized  programming  needs, 
such  as  educational  or  game  applications  ATARI  Fig- 
FORTH  is  uniquely  effective.  Fig-FORTH  combines 
power  and  simplicity  in  an  efficient  lOK  size,  with 


characteristics  of  an  interpreter  and  the  speed  of 
machine  language  code. 
ATARI  BASIC- An  affordable  and  easy  to  use 
BASIC  that  uses  only  8K  of  memory.  It  allows  you  to 
take  advantage  of  the  spectacular  ATARI  graphics 
and  sound  capabilities.  And  its  immediate  mode 
error  messages  gready  simplify  debugging. 
ATARI  Assembler  Editor— An  excellent  tool  to  assist 
the  assembler-programmer  in  creating,  editing  and 
debugging  assembly  programs. 
PILOT— PILOT  is  an  exceptional  learning  language, 
with  built-in  "turde"  graphics  to  let  you  create  spec- 
tacular designs  and  pictures  with  very  short  programs. 
Simple  one  or  two-letter  commands  can  allow  you 
to  create  a  dialogue  with  the  computer.  And  a  single 
"match"  command  can  perform  complex  text 
evaluation  and  pattern-matching  instantly 

ATARI  is  constantly  developing  new  ways  to  help 
you  get  more  out  of  your  ATARI  800  Home  Computer, 
bo  watch  for  more  innovative  and  exciting  program 
languages  from  ATARI  in  the  future. 

In  addition  to  bringing  the  computer  age 
home,  ATARI  is  committed  to  answering 
the  needs  of  computer  professionals.         AT  A  ni ' 


g  jjiugiaiii 

A 


iDW«2AIARI,iiK 
All  Riijhcs  &mtvlJ 
•Av.iiliiHc  htm  tlw  ATARI  I'n.ur^im  EsckiiiB^- 


ATARI  HOME  COMPUTERS 

We've  Brought  The  Computer  Age  Home™ 


! 


COMPUTE! 


July.  1982.  Issue  26 


aaaaBBBDRiiDaaDBo  a 
BBDaDBaoBBaaBBa  o 

QQBBBaaDBBBBBa 

BBBBBBBBBRBBB  B 


Commodore  "MAX"  \fachine 


Third  Generation 
Commodore  "B"  Series 
Microcom  pu  ter 


mm: 


Third  Generation 

Commodore  PI 28  Series  Microcomputer 


Other  New  Computers:  Sinclair  Introduces  A  Color  Computer 

The  Sinclair  Spwtrun)  was  introduced  in  tlie  US  at  (he  (^ES.  It's  ronglily  the  satne  size  as  the  ZX-81, 
but  includes  a  partial  stroke  keyboard  rather  than  the  familiar  membrane  keyboard.  The  unit  features 
extended  Sinclair  BASIC,  16  colors,  I6K  RAjM  standard,  and  a  suggested  retail  in  the  S20()  price  range. 
More  next  issue. 

Ep.son,  the  well-known  printer  manufacturer,  introduced  a  16K  portable  computer  with  a  suggested 
relail  of  .fl7*)r).  The  compiucr  is  truly  portable,  deriving  power  from  four  NiCad  baltcrics.  Built-in 
(standard)  features  include  a  LCD  {Liquid  Crystal  Display)  screen  with  '20  character  liv  four  line  display, 
and  a  24  column  dot  matrix 
printer.  The  entire  iniit  measures 
roughly  I  1  inches  by  8.."i  incites 
by  2  inches,  and  weighs  3  pounds, 
13  ounces.  The  unit  also  features  a 
built-in  RS-232C  communications 
port  with  full/half  duplex  selection 
and  II0to4S()()baudrate.  A 
standard  microcassette  unit  is 
optional.  ■ 


Ottier  Random  Bits  In  The  "More 
Later"  Category... 

Atari,  Apple  and  Commodore 
were  showing  off  new  software. 
Atari  announced  a  price  reduction 
on  the  400's  suggested  list  to  $349.95. 
Microsoft  reports  increased  and 
substantial  support  for  MS-DOS. 
TIM  EX  was  actively  promoting  the 
$99.00  TIMEX/Sinclair  computer. 


EPSON 


I 


CTRL^I  Initialize 

1  MOniTOR 

2  BftSIC 


St    m   m   m 


1  I        —       =1  1  ; 

-     ¥    E^    R    1     1.    H    £    ^   1l   li  '^  "i^ 

St  A  i.  i  £  v  T  7  "Z  I:  T  1       " 


Epson  HX-20 


I 


Professional  Software  Introduces 
POWER 

by  Brad  Templeton 


ADD  POWER.TO  YOUR    e69.«^ 
COMMODORE  COMPUIER 


POWER  produces  a  dramatic  improvement  in  the 
ease  of  editing  BASIC  on  Commodore's  computers. 
POWER  is  a  programmer's  utility  package  (in  a  4K 
ROM)  that  contains  a  series  of  new  commands  and 
utilities  which  are  added  to  the  Screen  Editor  and  the 
BASIC  Interpreter.  Designed  for  the  CBM  BASIC 
user,  POWER  contains  special  editing,  programming, 
and  software  debugging  tools  not  found  in  any  other 
microcomputer  BASIC.  POWER  is  easy  to  use  and  is 
sold  complete  with  a  full  operator's  manual  written  by 
Jim  Butterfield. 

POWER'S  special  keyboard  'instant  action'  features 
and  additional  commands  make  up  for,  and  go  beyond 
the  limitations  of  CBM  BASIC.  The  added  features 
include  auto  line  numbering,  tracing,  single  stepping 
through  programs,  line  renumbering,  and  definition 
of  keys  as  BASIC  keywords.  POWER  even  includes 

TM  POWER  is  a  PegislefKl  Tradematk  ol  Professional  Software.  Jnc. 
All  specidcaiions  subject  to  change  witliout  notice. 


new  "stick-on"  keycap  labels.  The  cursor  movement 
keys  are  enhanced  by  the  addition  of  auto-repeat  and 
text  searching  functions  are  added  to  help  ease  pro- 
gram modification.  Cursor  UP  and  cursor  DOWN 
produce  previous  and  next  lines  of  source  code. 
COMPLETE  BASIC  program  listings  in  memory  can 
be  displayed  on  the  screen  and  scrolled  in  either  direc- 
tion. POWER  is  a  must  for  every  serious  CBM  user. 

Call  us  today,  for  the  name  of  the  Professional 
Software  dealer  nearest  you. 

Professional  Software  Inc. 

51  Fremont  Street 

Needham,  MA02194 

Tel:  (617)  444-5224    Telex  #951579 


10 


COMPUTE! 


July.  1982,  Issue  26 


Staff  Of  COMPUTE! 

Robert  C.  LocK  Publisher/Editor 
Kathleen  Martinek,  Managing  Editor 
Richard  Mansfield,  Assistant  Editor 
Tom  R,  Halfhill,  Features  Editor 
Alice  S.  Wolfe,  Publisher's  Assistant 
Georgia  Papodopoulos,  Art  Director/ 

Production  Manager 
Harry  Blair.  Advertising  Sales  Monager 
Terry  Cosh.  Typesetling/Productiori  Assistant 
De  Potter.  Production  Assistant 
Dai  Rees.  Production  Assistant 
Kate  Taylor.  Production  Assistant 
Charles  Bran  no  n.  Editorial  Assistant 
Vicki  Jennings.  Administrative  Assistont 
Sonja  Whilesell,  Dealer  Coordinator 
Bonnie  Valentino,  Accounting  Coordinator 
Fran  Lyons.  Circulation  Coordinator 
Christine  Gordon.  Customer  Service 


Associate  Editors 

Jim  Butterfield.  Toronto,  Conoda 
Harvey  Herman,  Greensboro,  NC 
Fred  D'Ignozio  c/o  COMPUTE! 

P.O.  Box  5406,  Greensboro,  NC  27403 
David  Thornburg.  P.O.  Box  1317 

Los  Altos,  CA  94022 


I 


Contributing  Editors 

Marvin  DeJong.  DepL  of  Mathematics-Physics 

The  School  of  the  Ozarks 

Pt.  Lookout,  MO  65726 
Bill  Wilkinson.  Optimized  Systems  Software 

10379-C  Lonsdale,  Ave. 

Cupertino,  CA  95014  jk 

Gene  Zumchak.  1700  Ntagaro  Sf.  " 

Buffalo,  NY  14207 


Subscription  Information 

COMPUTEl  Circulation  Dept. 
515  Abbott  Drive 
Broomall,  PA  19008  USA 


TOLL  FREE 

Subscription 

Order  Line 

800-345-8112 

In  PA  BOO-662-2444 


COMPUTE!  Subscription  Rotes 
(12  Issue  Year): 


US 


Canada  and 
Foreign  Surface  Mail 


(one  yr.)  $20 

(two  yrs.)  $36 

(three  yrs.)  $54 


Air 


Europe,  US  Possessions 
Middle  East,  Centre  I 
America  and  North  Africa 
South  Annerica,  South 
Africa,  For  East  and 
Australia 


$25 

$38 
$48 

$88 


Advertising  Sales 


/(\> 


The  Gittelnnan 

O        <Y   AIDolton 
£^^617-451-0822 

The  Gittelman 
Companyvi/ 

i    Andy  Meehan 
>.,216-646  5700 
.■>JY  Metro  212  6o?A717 


in  British  Columbia. 
Canada  call  '108-35d-5653. 
Elsewhere  in  Canada  or  outide 
North  America  coll  019-275-<?eO'?. 
In  Alaska  or  Hawaii  call  408-354-5553. 


Phoebe  Thompson 
and  Associates 

101  Church  Street.  Suite  13 
Los  Gates,  CA  95030 
PHOEBE  THOMPSON 


Phoebe  Thompson 
gnd  Associates 

P.O.  Box  7000-462 
Redondo  Beach,  CA  90277 
JOANN  SULLIVAN 


Small  System  Services,  Inc. 
publishes: 

COMPUTE! 
COMPUTE!  Books 

Corporate  office: 

625  Fulton  Street. 
Greensboro,  NC  27403  USA 

Mailing  address:  COMPUTE! 

Post  Office  Box  5406 
Greensboro,  NC  27403  USA 

Telephone:  919-275-9809 


Robert  C.  Lock,  President 
W,  Jerry  Day,  Vice-President, 

Comptroller 
Kathleen  Martinek,  Assistant  To  The 

President 
Etien  Day,  Accounting  Manager 
Carol  Holmquist  Lock,  Research 

Assistant 


The  Gittelman  Company  The  Gittelman  Company 


Statler  Office  Building 
Suite  518 

20  Providence  Street 
Boston.  MA  02116 
AL  DALTON 


Summit  Office  Center 
7266  Summit  Avenue 
Fort  Washington,  PA  19034 
ANDY  MEEHAN 


6B  &  Associates       COM  PUTE ! 
P.O  Box  335  Home  Office 

Libertyville,  IL  60048  625  Fulton  Street 
GORDON  BENSON     Greensboro,  NC  27403 
HARRY  BLAIR 

Address  all  advertising  materials  to: 

Alice  S.Wolfe 

Advertising  Production  Coordinator 

COMPUTE!  Magazine 

625  Fulton  Street 

Greensboro,  NC  27403  USA 


T 


Authors  of  ma  nuscripts  warrant  that  a  1 1  materials 
submitted  to  COMPUTE!  are  original  moteriols 
with  futi  ownership  rights  resident  in  said  authors. 
By  submitting  articles  to  COtVlPUTEi.  authors 
acl<nowledge  Ihotsuch  materials,  upon  oc 
ceptance  for  publication,  tDecome  the  exclusive 
pfopertv  ot  Smoll  System  Services.  Inc.  No 
portion  of  this  magazine  may  be  reproduced  in 
any  form  without  written  permission  from  the 
publisher.  Entire  contents  copyright  t  1982. 
Small  System  Services,  Inc.  Rights  to  programs 
developed  ond  submitted  by  oufhors  are 
explained  in  our  author  controct.  Unsolicited 
moteriQis  not  accepted  tor  publication  in 
COIvlPUTEf  will  be  returned  if  outhor  provides  o 
seiif-addressed.  stamped  envelope.  Program 
listings  stiould  be  provided  in  printed  torm  (new 
ribbon)  as  well  as  machine  readable  form. 
Articles  stiould  be  furnished  OS  typed  copy 
[upper  and  lower  case,  please)  with  Ooubl© 
spacing  Each  poge  of  your  article  should  beor 
ttie  title  of  the  article,  dote  and  name  of 
the  author  COMPUTE!  assumes  no  liability  for 
errors  in  articles  Or  advertisements.  Opinions 
expressed  by  authors  are  not  necessarily  those 
ot  COf^PUTE! 

PET  IS  a  trademark  of  Commodore  Business 
Mochines.  Inc 

Apple  is  a  trademark  of  Apple  Computer 
Company 
ATAf?l  is  a  trademark  of  Atori.  Inc. 


Coming  In  The  August 
Issue  Of  COMPUTE! 

Keyprint  Compendium: 
PET/CBM 

A  Color  Computer 
Energy  Monitor 

Electric  Eraser  For 
Tlie  VIC 

Video  Graptiics  And  The 
GTIA:  Atari,  Part  11 

An  Apple  Data  Manager 
A  Color  Computer 
Energy  Monitor 


JINSAM 


Officially  approved  by  Commodore 
For  Their  8000-9000  Series  Desk-Top  Computi. 


1 

i 

space 
age 


micro 


Used  at  NASA, 

Kennedy  Space  Center 

With  Multiple  Applications  Related 

to  the;J^lumbia  Space  Shuttle  Project 

indudihgf/escue  operations 
r.f^t;qtiro|  reports,  inventory  and 
■^  uacking. 


software 


Jinsam8.2      f(^, 

has  brol<en  the  sort  limit.  Sorts  are  now 
unlimited  -  you  may  sort  to  any  desired 
depth:  3,4,5,6,7  .... 
We  now  have: 

Unlimited  record  length,  unlimited  fields, 
and  unlimited  sorts,  searching  by  key 
quick-scan  and  pattern  matching,  allow- 
ing limitless  applications. 


JINI  MICRO-SYSTEMS,  Inc 


DATABASE  MANAGEMENT  SYSTEM  DESIGN 

Box  274  KINGSBRIDGE  STN. 

RiVERDALE,  N.Y.I  0463 

(212)796-6200 


12 


I 


COMPUTE) 


July.  1982.  fssue  26 


Ask  The 
Readers 

.Robert  Lock  Richord  Mansfield, 
And  Readers 

i 

COMPUTE!  ivelcomes  questions,  comments,  or  solutio-m  to 
issues  raised  in  this  column.  Write  to:  Ask  The  Readers, 
COMPUTE!  Magazine,  P.O.  Box  5406,  Greensboro,  NC 
27403.  COMPUTE!  reserves,  the  right  to  edit  or  abridge 

published  letters. 

A  Bigger  Set  Of  Commands 

I  keep  reading  about  this  new  POKE,  and  that  new 
POKE,  to  do  all  sorts  of  wonderful  things.  But  it 
seems  cumbersome  to  me.  As  micros  evolve,  might 
not  some  scheme  evolve  so  these  memory  addresses 
do  not  need  to  be  memorized? 

In  other  words,  a  much  larger  command  set. 
The  new  commands  are  directly  translated  inter- 
nally to  the  proper  POKE,  so  it  wouldn't  require 
that  much  more  memory.  And  it  would  be  both 
easier  to  remember  and  more  transportable. 

What  do  your  readers  think?  Perhaps  some  of 
them  already  have  done  such  a  program! 

Kevin  Sinclair 

Language  designers  face  a  tough  decision:  they  miLsl 
balance  convenience  (many  conumuuis)  versus  the  amount 
a/ROM  or  RAM  granted  toihem  (such  as  8K  BASIC). 

Fortunately,  many  languages  can  be  extended, 
permitting  you  to  add  extra,  custom  commands.  Ij  your 
language  is  "soft-loaded, "  coming  off  disk  or  tape  into 
RAM,  you  can  usually  "patch  into"  (modify)  the  language 
to  force  it  to  recognize  your  new  commands.  However,  the 
new  commands  will  generally  have  to  be  written  in  machine 
language  and  reside  in  RAM  somewhere. 

ROM-based  languages  are  more  difficult  to  alter. 
Most  Microsoft  B ASICs  (Apple,  OSI,  Commodore)  put  a 
fragment  of  the  language  into  RAM  dtiring  their  .start-up 
secjuences  when  you  turn  power  on.  You  can  put  a  machine 
language  "J MP"  command  (a  'wedge")  in  the  midst  of 
this  fragment  which  causes  the  computer  to  regularly 
"jump"  to  a  machine  language  routine  of  your  own  which 
would  check  to  .see  if  you  Imd  typed  "SPECIAL"  or  what- 
ever instead  of  a  normal  BASIC  word. 

The  "Universal  Wedge"  for  disk  commands,  Basic 
Aid,  and  other  BASIC  enhancement  programs  use  this 
method.  Non-Microsoft  B ASICs,  .such  as  Atari  8K 
BASIC,  can  also  be  made  to  recognize  new  commands, 
but  it  is  a  tricky  biusiness.  Watch  upcoming  issues  of 
COMPUTE! /or  an  Atari  Wedge  routine. 

For  further  information  about  adding  "Wedges,"  see 
Bill  Wilkinson's  "Insight:  Ataii"  column  (COMPUTE!, 


May,  1982  #24),  "Modifying  Apple's  Floating  Point 
BASIC"  (COMPUTE!.,  May,  1982,  #24)  and,  for  Micro- 
soft BASIC  in  gCJieral,  "The  Wonderful  Wedge" 
(COMPUTE!,  April,  1981,  #11). 

Atari  Loclojp  Revisited 

Several  readers  have  responded  to  the  issue  raised  by  Greg 
Kopp  in  A.sk  the  Readers,  May,  1 982,  about  the  occasional 
"lockup"  where  the  Atari  will,  mysteriously,  "go  aivay" 
and  no  longer  respond  to  the  keyboard. 

Bill  Wilkinson,  COMPUTE!  columnist  and  one  of 
the  authors  of  Atari  BASIC,  responded  that  "all  sub.stan- 
tial  software  has  bugs.  If  it's  in  ROM,  the  bug  can't  he 
repaired  unless  a  new  set  of  ROM  chips  are  brought  out. 
For  whatever  reason.  Atari  has  never  brought  out  a  new 
ROM  set.  To  be  fair  about  it,  there  are  bugs  in  the  original 
TRS-80  which  have  never  been  fixed  either. " 

We  might  add  that  the  new  IBM  computer  has  a  bug 
in  the  division  routine.  Also,  the  several  fixes  which 
Commodore  has  made  to  its  BASIC  in  ROM  have  cured 
the  original  bugs,  but  brought  about  new  problems  of 
software  compatibility  between  versions. 

BASIC  To  BASIC 

I'm  having  trouble  with  the  PET  program  on  page 
14  in  Issue  23,  ApriL  1982.  I  couldn't  get  it  to 
work.  Now  that  I  have  looked  at  lines  140  and  150, 
I'm  confused.  Isn't  [the  variable]  "TI"  always  zero? 
If  so. ..doesn't  this  cause  line  150  just  to  loop?  At 
least  that's  where  my  program  gets  stuck. 

Guy  Lillis 

The  program  you  refer  to  is  a  "fast-find"  for  cassettes,  but 
is  designed  to  work  only  on  Commodore  cassette  drives 
(PETICBMIVIC).  Programs  which  use  only  the  keyboard 
or  screen  can  usually  work  (with  some  changes)  on  most 
computers  using  BASIC.  Hoxvever.  technicptes  involving 
peripherals  like  tape  drives  tend  not  to  be  ven  "portable" 
between  computer  brands. 

For  example,  the  Commodore  machines  have  a 
.special  variable  called  TI  (for  Time)  which  is  an  internal 
clock.  This  vanable  is  always  being  updated  by  the  com- 
puter and  can,  therefore,  be  used  to  time  events.  In  your 
computer,  TI  is  an  ordinary  variable,  ahi^ays  zero  unte.ss 
you  assign,  a  value  to  it. 

The  'fast-find"  technique  is  so  specific  to  the  machin- 
ety  involved  that  it  even  needs  adaptations  to  work  on  the 
different  models  of  the  Commodore  line.  (See  th^  following 
letter.) 

VIC  Fast-Find 

I  need  your  help  with  a  small  problem.  I  entered 
the  BASIC  code  for  the  cassette  tape  to  locate 
programs  on  fast- forward  as  shown  on  Page  14  of 
the  April,  1982,  COMPUTE!,  and.  although  you 
claim  that  it  "can  be  adapted  to  any  Commodore 


J 


A  dynamic  duo  frf^m  SSI  for  the 

ATARI ! 


THE  BATTLE  OF  SHILOH:  A  brigade-level  simulation  of  the  first  grand  battle  of  the  Civil  War. 
pitting  the  Confederate  Army  against  Grant's  troops  and  Union  gunboats. 


l-il 


/ 


Atari  owners,  rejoice! 

First.  SSI  brought  you  THE 
SHATTERED  ALLIANCE'"  and  you 
made  it  the  popular  fantasy  war- 
ganne  it  is  today. 

Now.  we  are  proud  to  offer 
two  more  games  for  your  pleasure: 
THE  BATTLE  OF  SHILOH™  and 
TIGERS  IN  THE  SNOW" 

In  producing  these  games, 
we've  taken  full  advantage  of  the 
Atari  400/800's  brilliant  graphics 
capability  and  combined  it  with 
our  extensive  wargame-design 
experience. 

For  example,  both  games  have 
colorful  map  displays  that  can  be 
scrolled  effortlessly  so  you  can 
keep  track  of  all  the  action  on  the 
vast  battlefields.  We've  also 
employed  special  rules  and  innova- 
tive gaming  systems  to  enhance 
the  sophistication,  realism  and  play- 
ability  of  these  simulations. 

And  the  result  of  all  this  hard 
work?  Two  strategy  games  that 
will  truly  challenge  and  excite  your 
game-loving  mindl 

At  $39.95  each  (available  In 
either  cassette  or  disc  version*), 
they  are  waiting  for  you  at  your 
local  computer/game  store  today! 

VISA  and  M/C  holders  can 
order  by  calling  800-227-1617. 
ext.  335  (toll  free).  In  California, 
call  800-772-3545,  ext.  335. 

To  order  by  mail,  send  your 
check  to:  Strategic  Simulations  Inc, 
465  Fairchild  Drive,  Suite  108, 
Mountain  View.  California  94043. 

All  our  games  carry  a  14-day 
money-back  guarantee. 


•TIGERS:  40K  mini  floppy  disc  or  40K  cassette 
for  the  Atari  400/800  with  Atari  BASIC  cartridge. 
SHILOH;  40K  mini  floppy  disc  or  32K  cassette 
for  same.  When  ortering,  piease  specify  disc  or 


Atari  is  a  registered  trademark  of  Atari  Inc. 


TIGERS  IN  THE  SNOW:  Ghostlike  Nazi  Tiger  tanks  and  infantry  sweep  across  the  dark, 
frozen  forests  of  the  Ardennes  agalnsta  surprised  U.S.  force  in  this  division/ regiment- level 
simulation  of  Hitler's  last  desperate  attack 


As  part  of  our  demanding  standards  of  excellence,  wc  use  tTiaXell  floppy  discs. 


STKATEGIC  SIMULATIONS  IIXC 


M 


COMPUTE! 


July,  1982,  Issue  26 


machine,"  I  can't  get  it  to  run  on  the  VlC-20. 

I  suspect  that  the  memory  addresses  in  the 
PEEK  and  POKE  statements  for  the  Commodore 
PET  are  different  than  the  VIC-20,  but  since  I 
don't  own  the  PET,  I  don't  know  how  to  convert 
these  few  memory  addresses  to  the  VIC-20. 

Since  there  are  only  three  BASIC  statements 
that  refer  to  memory  addresses,  could  you  inform 
me  what  the  VIC-20  equivalent  addresses  would  be. 

I  believe  that  COMPUTE!  has  a  wide  following 
among  VIC-20  owners  and  that  this  data  would  be 
of  interest  to  many  readers. 

William  E.  Bender 

You're  right,  POKEs,  PEEKs,  and  SYSs  are  the  least 
"portable"  aspect  of  BASIC.  When  yo^i  try  to  translate 
a  program  written  for  one  computer  model  or  brand,  these 
words  are  sure  to  give  you  problems.  The  following  version 
of  tape  Fast  Find  for  VIC,  by  Associate  Editor  Harvey 
Herman,  was  originally  published  last  fall.  It  makes  for 
an  efficient  tape  management  system,  but  must  be  the  first 
prograyn  on  each  tape. 


I 


100  REM  VIC  FAST  FIND 

110  REM 

120  REM  HARVEY  B.  HERMAN 

130  REM 

140  N=5:DIM  A$(N):REM  N  IS  #  OF  PROGRAMS  * 

ON  TAPE 
150  FOR  1=1  TO  N:READ  A$(I):NEXT  I 
160  PRINT  CHR$(147);CHR$(144) ;"   PROGRAM" 

: :PRINT:PRINT  "NUMBER  NAME":PRIN 

T 
170  FOR  1=1  TO  N:PRINT  I;"     ";A$(I):NEX 

T  IiPRINT 
180  INPUT  "FIND  NUMBER"; JiPRINT 
190  IF  J<1  OR  J>N  THEN  160 
200  IF  J=l  THEN  330 

210  REM  START  OF  ROUTINE  TO  FAST  FORWARD 
220  REM  WAIT  FOR  RELEASE  IF  NECESSARY 
230  IF(PEEK{37151)  AND  64)=0  THEN  PRINT  " 

PRESS  STOP  ON  CASSETTE" 
240  IF(PEEK(37151)  AND  64)=0  THEN  240 
250  PRINT  "PRESS  FAST  FORWARD" : PRINT 
260  IF(PEEK(37151)  AND  64)=64  THEN  260:RE 

M  CHECK  FOR  PRESS 
270  PRINT  "OK" :PRINT:A=TI 
280  IF  ABS(TI-A) <(J-1)*360  THEN  280:REM  F 

AST  FORWARD  6  SEC  PER  PROGRAM 
290  POKE  37148, PEEK(37148)  AND  247:REM  ST 

OP  MOTOR 
3  00  PRINT  "RELEASE  FAST  FORWARD" 
310  IF(PEEK(37151)  AND  64)=0  THEN  310:REM 

WAIT  FOR  RELEASE 
32^  REM  DYNAMIC  KEYBOARD  LOAD 
330  PRINT  CHR$(147) ;CHR${17) ;CHR$(17) ;CHR 

$ (17) ;"LOAD  ";CHR$ ( 34) ; A$ (J ) ; CHR 

$ (34) ;CHR$(19) 
340  POKE  198,1:P0KE  631,13:END 
350  DATA  PROGRAM  1, PROGRAM  2, PROGRAM  3, PR 

OGRAM  4,PROGRAM5 


« 


Hidden  Adventure 

Regarding  Rudolph  F.  Lauer's  query  in  the  May 
issue:  I  am  co-author  of  Fantasy  Games  Software's 
PET  programs  Swordquest  and  Escape  From  the 
Death  Planet.  We  have  both  Original-ROM  and 
Upgrade- ROM  versions  of  these  games. 

Except  for  a  few  early  orders,  our  cassettes 
include  both  versions.  Users  who  have  upgraded 
their  PETs  should  try  loading  from  the  (unlabeled) 
flip-side  of  the  cassette.  If  that  side  proves  to  be 
blank,  thev  may  send  their  cassettes  to  me  with  a 
stamped  reply  envelope,  and  I  will  record  the 
Upgrade  version  for  them  at  no  charge. 

J.  L.  Pietenpol 

J.  L.  i'lelenpul 
5711  Trinity  Rd. 
Raleigh,  N'C  27607 

GETting  On  Atari 

I'm  a  new  Atari  owner  and  one  thing  bothers  me 
much  about  Atari  BASIC.  In  Apple  BASIC  and  in 
PET/CBM  BASIC,  one  keyword  is  GET,  in  terms 
of  strings.  Atari's  keyword  GET  has  a  different 
meaning.  How  can  1  input  characters  without 
pressing  return?  It  would  be  much  easier  to  make 
advanced  games  without  just  using  the  joysticks. 

Howie  Fishman 

To  use  Atari's  GET  command,  you  must  first  open  a  file 
to  the  keyboard,  e.g.  OPEN#1,4,0,"K:".  You  can  then 
GET  a  keystroke  with  GET#I  ,A.  A  (or  whatever  variable 
you  use)  will  contain  the  ASCII  value  of  the  key  typed 
'(A  =  69  for  "E",97  FOR" a", etc.).  GET  will  always  luait 
for  a  keystroke. 

You  can  use  location  764  to  see  if  a  key  has  been 
pressed.  It  normally  holds  255,  but  when  a  key  is  pressed, 
it  will  contain  a  "keyboard  code"  (not  ASCII).  POKEing 
764  with  a  255  will  reset  the  register. 


100  IF  PEEK(764)  =  255  THEN  100 
no  POKE  764,255 
10  OPEN  #1,4,0,"K" 


Waits  for 
a  key 


100  GET#1,A 


Gets  a  key 


i 


VIC  Expansion  Software 

Why  don't  the  manufacturers  of  software  for  the 
VIC-20  offer  more  sophisticated  software  requiring 
memory  expansion?  They  do  for  all  the  other 
computers. 

Scott  Barber 

The  VIC  is  a  new  machine  and  memory  expansion  is  even 
newer.  Its  library  ofsoftimre  is  building  quickly,  however, 
as  the  many  ads  in  CORflPUTEl  illustrate.  For  predictions 
and  information  about  VIC  software,  see  Jim  Buiterfield's 
"Whither  VIC?"  in  this  issue. 


I 


THEY  LAUGHED  AT  ME  WHEN  I  SAT  DOWN  AT  THE  KEYBOARD . . . 
BUT  OH,  WHEN  I  BEGAN  TO  PLAY!  HERE'S  WHAT  THEY  SAID: 


BFL-ATOn  [-"I've  had  to 
replace  three  electro- 
universal  wristcouplers 
since  I  got  it" 

PROTECTOR. 


CORQUS  I  -"Even  with  a 
class  II  embryonic 
neuroiifter,  it  is  disgustingly 
difficult  to  play" 

SLIME. 


ADM-MARK  11+ -"More  fun 
than  kicking  the  servonic 
katdroid" 

CHICKEN. 


ELF-X2-"CanIbea 
submarine  when  I  grow  up?' 


IMUTILUS. 


IMAUTILUS,  PROTECTOR,  CHICKEn  AND  SLIME  ARE  ALL  TRADEMARKS  Of  SYTiAFSE  SOFTWARE. 


j^^pse 


820  Coventry  Rd. 
Kensington,  CA  94707 

(415)  527-7751 


FOR  THE  ATARI*  HOME  COMPUTER. 


*ATARI  ISA  REGISTERED  TRADEMARK  OF  ATARI,  IPIC. 


16 


I 


COMPUTE! 


July.  1982,  Issue  26 


An  Attack  Of  Hearts 

When  I  do  a  POKE  756,226,  enabling  lowercase 
and  control  characters  to  be  printed  on  the  screen 
in  graphics  mode  1  or  2,  the  computer  fills  the 
screen  with  a  bunch  of  hearts.  How  do  I  get  rid  of 
them?  |J 

"  Larry  L. 

The  alternate  character  set  for  Graphics  modes  one  and 
two  is  the  bottom  half  of  the  full  character  set,  i.e.,  lower- 
case, graphics,  and  control  symbols.  Unfortunately,  the 
heart  (CHR$(0)),  maps  into  the  place  where  SPACE  is 
encoded,  resulting  in  a  screen  full  of  hearts.  The  mual 
cure  is  to  perform  a  SETCOLOR  0,0,0,  sijice  the  SPACE 
(or  heart)  defaults  to  color  register  zero.  This  xi'ill  make 
the  hearts  black,  the  default  background  color.  Naturally, 
you'll  have  to  change  this  if  the  backgi'ound  is  not  black. 
Unfortunately,  this  prevents  you  from  printing  any 
text  in  the  hlacked-out  color,  reducing  your  available 
colors  from  five  to  four.  A  superior,  if  more  complicated, 
procedure  would  be  to  modify  the  character  set  by  zeroing 
out  the  heart  character.  This  requires  additional  RAM  to 
hold  the  next)  cluiracter  set  and  POKEing  756  with  the 
pointer  to  the  custom  character  set.  Here  is  an  example 
program:  I 


108  CHBAS=75b=CH0RG=57344 

118  CHSET=(PEe«106>-8>*256 

128  GRAF'HICS  1 

138  POKE  756.226 

148  ?  #6:?  #6;"    now  !cMraindl"=?  «b; " 

I  CW^ftCTER  i   SET " 
150  FOR  1=8  TO  511=REf1  ONLY  HALF  NEEDS  T 
0  BE  TRftMSFERRED 

160  POKE  CHSET+LPEEK(CH0RG+512+I> 
170  NEXT  I 

188  POKE  75b,CHSET/256 
198  REM    'FOR  l^i=l  TO  50^NEXT  W    IS  A  PftUS 
E  USED  ONLY  FOR  ETPHftSIS 
195  REH  NOT  t€EDED  FOR  lO?KIHG  PRCGRW1 
208  FOR  1=0  TO  7  =  POKE  CHSET+L0  =  FOR  1^1 


TO  50  =  NEXT  L4:btXT  I=REM  ERASE  HEART 
210  ?  #6:?  t6^"ldOlnE" 
220  EHD 


More  Workhorse  Programs 

for  your  computer  to  play  with! 


With  these  Creative  Software  hpme  programs  your  Atarp  or  l^c® 
can  start  playing  in  the  real  world' 


HOUSEHOU)  RNANCE 

•  15  Income  &  expense  calegories  | 

•  Budgeting 

•  Monthly  &  yearly  accounting 

•  Indicate  tax  deductible  items 

•  Proiiuce  tables  4  graphs 

•  S34.95  cassette 

•  S39-95  disk 


LOAN  ANALYZER 

■  Amortizaiicn  tables 

>  Compute  interest  charges 

•  Compare  various  loans 

>  Analyze  loan  terms 

•  Manipulate  loan  parameters 

>  $14.95  cassette 

•  S1995  disk 


HOME  INVENTORY 

•  Catalog  your  possessions 

•  User-delinable  categories 

•  Search  catalog  for  items 

•  Record  serial  S,  purchase  price 

•  Compute  Ihe  value  ol  items 

•  SI9,95  cassene 
« S24.95  disk 


CREATIVE 

SOlh  I  InrARE  201  San  Antonio  Gicie.*270 
A  Division  01  ASCI.  Inc.        Mountain  View,  CA  94040 
(415)948-9595 


DECISION  MAKER 

"  Decide  between  alternatives  N 

•  Compute  recommended  Choices  g 
» Manipulate  decision  parameters  | 

•  Weigh  inlluencing  factors  H 

•  Save  decisions  on  tape  or  disk  1 

•  S  19.95  cassette  I 

•  S24.95  disk  ^ 


CAR  COSTS 

•  Record  maintenance  costs 

•  Itemize  insurance  payments 

•  Track  fuel  consumption 

•  Summarize  all  costs  to  date 

•  Compute  cost  of  a  tnp 

•  S19.95  cassette 

•  S24.95  disk 


Ask  about  our  many  other  recreational  and  home 
application^  TO  ORDER:  VISA;  Mastt-rCari  check 
or  mottey  order  accepted.  H  chiirac,  please  include 
expiration  date  of  card.  -Add  $1.50  lor  shipping  and 
liatidling.  California  residents  add  sales  lax. 


^issiLm 


rATARI  [OWNERS, 


O  High  resolution  graphics - 
Life  like  motion. 

O  Instant  replay  on  any  shot. 
O  Superfine  aiming. 
O  Pool  room   sound  effects 
O  Choice  of   4   popular  games 


See  your  local 
computer  dealer 
or  order  directly 
from  IDSI. 
Specify  ATARI 
or  APPLE. 


NOW  YOU  TOO 
CAN  PLAY  POOL  1.5' 
ON  YOUR  ATARI 
48K  DISK  SYSTEM. 


ALSO  AVAILABLE  FOR 
THE  APPLE  ll'%8K 
DISK  SYSTEM. 


ATARI  is  the  registered   trademark  of  ATARI  Inc. 
APPLE  II  is  the  registered  trademark  of 

APPLE  Computer  Inc. 
POOL  1.5  is  trademark  of  IDSI. 


I 


18 


I 


COMPUTEI 


July,  1982,  Issue  26 


A  Monthly  Column 


I 


Computers 
And  Society 


David  D.  Thornburg 
Associate  Editor 


Odds  And  Ends... 

You  folks  sine  love  lo  wriie  letters!  My  mail  load 
from  this  coluinn  and  P'riends  of  the  Turtle  is  large 
enough  that  I  don't  always  gel  answers  out  right 
away.  If  you  have  written  and  haven't  heard  from 
me,  don't  despair  —  I  will  write  as  soon  as  1  can. 
I  received  several  letters  in  response  to  the 
"computers  and  the  arts"  columns.  Reader  Ted 
Nemeth  of  New  York  wrote  in  part: 

Dear  Dr.  Thornburg: 

In  "Conifiiitrrs  and  Sorifiy"in  the  Marrh 
wtie  oy  COMPUTE!  sou  wrote  "...  Wfiifney 
saw  a  new  medium."' 

Maiy  Ellen  Bute  (my  grandmotlier) 
was  the  first  (ahohitely)  to  use  a  light  pen 
on  an  oscilloscope  to  create  animated  patterns 
with  music.  She  worked  with  Professor 
Theraman  creating  this  technique.  Her 
work  received  major  acclaim  and  showed  at 
Radio  City  Music  Hall  in  New  York  for 
years. 

I  have  .shown  her  Mr.  Whituex's  hook 
and  ivhile  .she  enjoyed  many  of  the  graphics, 
she  felt  his  technique  ofvisual-souvd  inter- 
pretation is  not  all  that  well  developed.  She 
worked  with  many  composers  front  (ieorge 
Gershwin  to  Edgard  Vare.se  in  developing 
her  theories.  Since  her  tnethods  did  not 
include  the  use  of  the  digital  computer,  her 
ivork  (about  25  short  films)  has  been  all  but 
ignored.  ... 

As  for  myself,  I  am  a  student  at  NYfT. 
I  own  an  Atari  800  and  am  working  on 
programs  similar  to  my  Grandmother's, 
except  -with.  Rock  and  Roll  music.  ... 
Sincerely, 


i 


Ted  Nemeth 

I  found  Ted's  letter  quite  interesting.  Al-1  too 


often  we  forget  to  look  at  the  progress  made  with 
technologies  that  preceded  the  ones  which  currently 
hold  our  interest. 

Several  other  readers  shared  their  favorite 
graphics  programs  with  me.  Among  the  finest 
graphics  packages  I  have  seen  for  the  Atari  com- 
puters is  the  program  Graphics  Master  written  by 
Courtney  Goodin  (distributed  by  Datasoft,  $49.95). 
This  program  allows  the  user  to  create  pictures  in 
either  of  two  high  resolution  (320  x  192  pixel) 
screens.  I  use  one  screen  for  small  graphic  elements 
that  1  can  then  "pick  up"  and  stand  anywhere  I 
wish  on  the  second  screen.  The  user  can  intermix 
text  and  graphics,  and  has  several  choices  of  text 
size.  Symmetry  operations,  such  as  rotations  and 
mirror  retlections,  can  be  performed  as  well.  Since 
text  is  treated  as  part  of  the  graphics  screen,  you 
can  split  a  word  in  the  middle  of  a  letter  if  you 
wish.  This  fine  prtjgram  pro\idcs  many  features 
for  its  modest  price.  It  is  a  tribute  to  its  author  that 
one  can  create  superb  drawings  using  onlv  the 
Atari  joystick  as  the  input  device. 

I  have  just  begun  to  explore  a  professional 
graphics  package  for  the  Apple  -  more  on  that  in  a 
later  column. 

The  columns  on  computer  games  in  the  class- 
room also  generated  a  lot  of  mail.  Most  of  vou  who 
wrote  agree  with  the  idea  thai  there  is  somethiiig  to 
be  learned  from  the  arcade  games.  In  the  area  of 
educational  software,  I  have  several  new  programs 
1  am  reviewing,  including  a  beautiful  .set  of  pro- 
grams from  The  Learning  Company  (formerly 
ALT)  in  Portola  Vallev,  California.  As  with  the 
graphics  program  for  the  Apple,  these  .software 
reviews  will  have  to  wait  for  anotfier  column. 

Computer  Literacy  -  Wfio  Needs  It? 

Those  of  you  who  read  this  column  regularly  know 
that  I  am  a  proponent  of  the  use  of  computers  in 
the  classroom.  There  seem  to  be  two  extremes  to 
the  use  of  the  classroom  computer  —  as  a  tool  for 
programming  the  child  through  rote  drill  and 
practice,  or  as  an  object  of  study  and  exploration. 
My  own  bias  lies  toward  the  use  of  intrinsically 
motivating  learning  games  to  reinforce  basic  skills 
that  were  taught  using  conventional  (himian 
teacher)  methods.  In  addition,  I  am  a  strong  pro- 
ponent of  the  idea  that  children  shotild  gain  mastery 
over  the  computer  through  the  use  of  user  friendly 
languages  such  as  PILOT  and  LOGO. 

Historically,  my  argimient  has  been  with  those 
who  see  the  computer  used  only  as  a  replacement 
for  or  simple  adjunct  to  a  teacher  —  who  see  the 
computei"  as  a  data  processing  tot)l  to  probe  the 
student's  skills  and  report  all  failings  and  progress 
to  a  human  for  analysis  and  further  action.  I  guess 
that  the  thought  of  row  upon  row  of  school  children 


I 


THE  MOSAIC  RAM  SYSTEMS  FOR  ATARI 


CLEARLY  THE  BEST 


THE 

SCREEN 

CLARITY 


YOU  CAN  SEE  THE  MOSAIC  DIFFERENCE 


WHAT  THE  EXPERTS  HAD  TO  SAY 

A.N.ALO.G.  400/800  MAGAZINE  said  in  a  32K  RAM 
board  comparison  test:  "The  Mosaic  32K  RAM  showed  no 
sign  of  interference  and  gave  the  best  screen  clarity'  and 
"Mosaic  uses  what  we  feel  are  the  highest  quality 
components  which  may  improve  reliability". 

INTERFACE  AGE  said  after  replacing  the  Atari  memory 
board  with  a  Mosaic  32K  RAM:  "Once  in  place  there  is  no 
noticeable  change  in  screen  clarity"  and  "in  view  of  its 
excellent  performance  it  should  be  a  serious  choice  for  those 
Atari  owners  intending  to  expand  their  memory" 

Each  Mosaic  RAM  board  gives  you  more  than  just  the  best 
screen  clarity  but  also  the  best  in  reliability  flexibilily  and 
compatibility  The  Mosaic  RAM  systems  offer  you  the  best  in 
every  way  —  these  features  prove  it. 

■  Works  In  both  the  Atari  400  *&  8 00* computers. 

■  4  year  guarantee. 

■  Comp[ete  instructions. 

.  ■  Test  cycled  24  hours  for  reliability 

■  Gold  edge  connectors  for  better  reliability 

■  Quick  nO'Solder  installation. 

■  Full  flexible  memory  configuration. 

■  Can  be  used  with  8K,  1 6K  and  future  products. 

■  Designed  to  take  advantage  of  Atari  800 's  superior  bus  structure. 

■  Designed  for  inter-board  communication  in  Atari  800. 

■  Allows  Atari  800  to  have  2  slots  open  for  future  expansion. 

■  Always  the  best  components  used  for  superior  screen  clarity  and 
reliability 

■  Low  power  design  for  safety  and  reliability 

■  Available  companion  board  ( S5)  to  allow  running  The  Mosaic  RAM 
systems  independent  of  other  boards. 


THE  MOSAIC  RAM  SYSTEMS  FOR 
THE  SERIOUS  ATARI  OWNER. 


THE  MOSAIC  32K  RAM 


For  the  serious  Atari  owner.  This  Is  the  32K  RAM  board 
you've  been  hearing  about.  It  has  every  feature  you 
could  want  from  a  RAM  board  and  more  features  than 
any  other  board  offers.  Each  Mosaic  32K  RAM  comes  with 
complete  instructions  so  in  a  few  minutes  you  will  have 
expanded  your  Atari  800  to  48K  RAM.  The  Mosaic  32K 
RAM  works  as  well  In  the  Atari  400,  but  we  suggest  the 
NEW  Mosaic  Expander. 


THE  MOSAIC  EXPANDER 


This  is  the  most  effective  way  you  can  expand  to  32K 

RAM  for  your  Atari  400  computer  And  at  almost  the  I6K 
price!  The  revolutionary  Mosaic  Expander  is  a  memory 
board  with  16K  RAM  in  place  and  open  slots  to  add  16K 
more  from  the  Atari  1 6K  board  that  comes  with  your  Atari 
400.  Each  board  comes  with  complete  instructions  so  in  a 
few  minutes  you  will  have  expanded  to  32K  RAM. 


*  Trademark  of  Atari,  Inc. 

rimosoic 

ELECTRONICS 

PO.  Box  708  Oregon  City  Oregon  97045 
503/655-9574 


20 


I 


COMPUTE! 


July,  1982,  Issue  26 


sitting  in  front  of  sterile  terminals  performing  the 
same  tasks  that  could  be  performed  better  under 
human  guidance  and  supervision  is  just  not  com- 
fortable to  me. 

But  now,  it  seems,  there  is  even  another  issue 
to  deal  with.  There  appears  to  be  growing  concern 
that  computer  literacy  is  not  an  appropriate  topic 
for  our  .schools  to  teach.  According  to  Eric  Burtis,  a 
member  of  the  Palo  Alto,  California-based  Ad  Hoc 
Committee  on  Basic  Skills  Educaiion,  the  education 
ot  children  in  basic  skills  is  suffering  from  the  use 
of  computers  in  the  classroom.  The  committee 
stales  that  "The  suggestion  that  every  American 
citizen  must  become  computer  literate  is  fallacious 
and  untrue,  just  as  it  would  be  untrue  to  state  that 
every  citizen  must  become  an  airline  pilot  if  mass 
air  transportation  is  to  remain  available  to  ail 
mankind." 

If  the  committee  is  of  the  opinion  that  our 
children  are  being  laughl  computer  skills  at  a  level 
commensurate  with  an  airline  pilot's  training,  they 
certainly  have  not  been  paying  attention  to  what  is 
happening  in  the  classroom.  It  is  erroneous  in  the 
extreme  to  suggest  that  those  of  us  who  are  com- 
puter literate  are  an  isolated  breed  that  provide 
services  to  the  masses  (as  do  airline  pilots).  The 
reality  is  that  we  can  either  control  technology 
ourselves,  or  let  others  control  ii  for  us. 

The  digital  computer  promises  to  be  the  most 
significant  technological  development  of  the  twen- 
tieth century  {Ada,  forgive  me  for  leaving  Babbage's 
machine  out  of  the  discussion).  Today  —  just  a  few 
short  years  into  the  era  of  the  personal  computer, 
there  is  almost  no  one  who  fails  to  come  in  contact 
with  computers,  if  only  indirectly. 

If  computer  literacy  is  not  appropriate  subject 
matter  for  our  children,  then  what  is?  Is  our  edu- 
cational system  so  sound  and  complete  that  it  is 
impervious  to  further  improvement?  The  fimction 
of  schools  is  partly  to  prepare  our  children  for 
survival  in  the  real  world.  This  requires  the  acqui- 
sition of  skills  in  math,  reading  and  writing,  and  a 
sense  of  historical  perspective,  etc.  It  includes  the 
development  of  the  whole  child  -  the  creative  as 
well  as  the  analytical  mind  -  in  order  that  each 
child  is  prepared  to  take  an  active  participatory 
role  in  society. 

Increasingly,  ours  is  a  society  governed  by  the 
How  of  information.  And,  increasingly,  this  infor- 
mation flow  is  mediated  by  computers.  By  not 
having  "computer  literacy"  courses  in  the  class- 
room, groups  such  as  the  Ad  Hoc  Commitee  on 
Basic  Skills  Education  are  insuring  that  only  child- 
ren from  certain  economic  and  cultural  back- 
grounds will  have  a  chance  to  learn  about  this 
technology.  To  suggest  that  computer  literacy  be 
denied  to  all  our  children  is  elitism  in  the  extreme. 


In  the  information  age,  those  of  us  who  are  com- 
puter literate  will  be  at  a  tremendous  advantage 
over  those  of  us  who  are  not.  If  we  believe  the 
principle  of  equality  of Oppoitimily  so  central  to 
our  national  identity,  then  we  must  have  the 
foresight  to  realize  that  this  equality  can  only  occur 
when  we  provide  equivalent  educational  oppor- 
tunities to  all  of  our  children  -  regardless  of  their 
economic  Ijackgioimd.  Tlie  schools  are  the  most 
a|jpr()priate  place  to  do  this. 

A  Few  Words  About  Innovision... 

I  own  a  company  called  Innovision.  In  the  past, 
Innovision  has  made  forays  into  the  commercial 
markel]>lace  with  products  such  as  the  Presto- 
Digitizer  tablet.  It  has  also  served  as  the  umbrella 
company  for  my  constilting  practice,  and  as  the 
haven  from  which  I  write  books  and  articles. 

The  fact  is  that  I  enjoy  writing  a  great  deal, 
and,  as  an  Associate  Editor  of  COMPUTE!  I  felt  a  bit 
awkward  also  appearing  as  an  occasional  adver- 
tiser. While  I  have  never  done  or  said  anything 
that,  in  my  opinion,  constituted  a  conflict  of  interest, 
it  is  e.ssenlial  that  my  readers  know  that  no  conflict 
could  ever  arise. 

Accordingly,  I  have  disbanded  the  conunercial 
product  lines  of  Innovision.  I  write,  I  occasionally 
consult,  and  I  am  involved  with  some  new  ventures 
riui  by  other  ]jeople.  Innovision  no  longer  has  any 
products  of  its  own. 

While  this  was  not  an  easy  decision  to  make,  it 
was  aided  by  the  increased  time  needed  to  answer 
your  letters  to  Friends  of  the  Turtle  (I  received  15 
today  alone).  I  have  never  failed  to  speak  my  mind 
from  these  pages,  and  I'm  not  planning  on  stopping 
now!  Ihank  vou  all  for  your  tremendous  support. 


ScotcK  Diskettes 

Rely  on  Scotch*  diskettes  to  keep  your  valu- 
able data  sate  Dependable  Scotch  diskettes 
are  tested  and  guaranteed  eiTor-free.  Trie  low 
abrasivity  saves  yout  read/write  heads. 
They're  compatible  with  most  disketlednvps. 


(800)235-4137 


Dealer  inquiries 
invileO 


.'ACIFIC 
EXCHANGES 

too  Foolhill  Blvd 
San  Luis  Obispo.  CA 
93401    In  Cal  call 
(800)  S92  5935  or 
(8Q5I  543  1037 


i 


Announcing  the  Printing 

reakthrough  of  the  Century: 

Smith-Corona:  TP-1  Text  Printer 


^. 


•  LOW  Cost 

Daisy  Wheel  Printer 


^799 


•  Microprocessor 
Electronics 
serial  or  Parallel 
Interface 

Simple,  Reliable 
Mechanism 


ACT  NOW:  Limited  Supply,  LOW,  LOW  Cost 


Smith  Corona,  one  of  the  largest 
manufacturers  of  small  printers  in 
the  world,  gives  a  whole  new 
perspective  to  printing  with  their 
electronic  text  printer— TP-1.  The 
TP-1  is  a  microprocessor  controlled, 
high  quality  daisy  wheel  printer. 
It  produces  perfectly  formed, 
executive  quality  printouts  at  the 
speed  of  120  words  per  minute. 
Typewriter  quality  printing  at  dot 
matrix  prices. 

Simple,  durable  and  dependable, 
TP-1  may  be  used  with  word 
processing  systems,  microcom- 
puters and  most  small  business 
systems.  Compact  and  attractively 


Adaitional  ribbons S2.95 


Styled,  the  TP-1  blends  well  with 
any  setting. 

Now,  all  your  letters,  documents 
forms  and  reports  can  have  the 
crisp,  professional  look  you 
demand— for  business  or  personal 
use— at  an  affordable  price.  TP-1, 
the  electronic  text  printer. 

Don't  delay,  order  your  TP-i 
TODAY  at  the  low  price  of  $799. 

Micro  Printer  Marketing  offers 
same  day  shipping,  nationwide  ser- 
vice and  invites  dealer  inquiries. 
Catalogues  available.  No  shipping 
charges  on  pre-paid  orders. 


iMicro "         Call  Micro-Printer  Marketing 

Santer        „- ,  1-800-523-9859  ^ 

IMCII^KGniig    in  PA  call  collect  21 5/ 433-3366  I^B 


MasterCard  and  Visa  Accepted 


M5* 


22 


COMPUTE! 


July.  1982.  Issue  26 


If  there's  a  topic  that  you  would  like  to  see  covered  in  this 
column,  send  your  suggestion  to:  The  Beginner's  Page, 
COMPUTE!  Magazine,  P.O.  Box  5406,  Greensboro, 
NC,  27403. 

The  Beginner's  Page 

Making  Files 
Woric 

Rtchord  Monsfield 
Assistant  Editor 

Last  month  ue  examined  files,  often  the  most  diffi- 
cult aspect  of  programming  for  the  new  com- 
puterist.  Here  we'll  conclude  this  overview  by 
looking  at  some  specific  details  about  file  handling. 

Ill  geiieral,  a  file  is  a  list  or  a  collcclion  of 
information  which  has  been  saved  on  a  tape  or  a 
disk.  A  list  of  all  the  people  you  send  C'hristmas 
cards  to  could  he  "memorized"  on  tape/disk  by  the 
computer  and  would  then  be  a  file. 

How  is  this  list  of  names  and  addresses 
"memorized"  and  how,  at  Christmas,  is  it  used  to 
print  the  addresses  on  envelopes?  A  file  by  itself  is 
incajxible  of  r/omg- anything:  it  is  not  a  program,  it's 
just  a  list.  .\  separate  program  is  needed  to  create, 
update,  and  make  use  of  files. 

"Mailing  Address,"  "File  Manager,"  and  others 
of  this  type  are  called  data  base  management  pio- 
grams.  Their  primary  function  is  to  build,  add  to, 
modify,  or  print  something  out  from  files.  They 
manage  a  collection  (a  basif)  of  data. 

You  can,  of  course,  write  your  own  custom 
data  liasc  manager.  This  would  amount  to  writing 
a  program  (or  a  set  of  programs)  which  would  let 
you  manipulate  the  list  on  tape  or  disk. 

Writing  a  large  data  base  management  pro- 
gram is  not  an  easy  task  —  it  can  involve  sorting, 
.searching,  and  other  complex  programming  tech- 
niques. Nonetheless,  handling  Christmas  card  lists 
is  something  the  novice  can  accomplish  and  it's  well 
worth  learning.  Files  do,  though,  represent  some- 
thing of  a  challenge.  Your  computer's  manual  will 
contain  information  on  the  necessary  punctuation 
and  syntax  for  BASIC'S  commands  which  manipu- 
late files.  However,  the  following  brief  overview- 
might  be  of  help. 

OPEN,  PRINT#,  iNPUT#,  And  CLOSE 

Where  a  program  would  be  stored  by  the  simple 
SAVE  instruction,  a  file  is  stored  bv  a  combination 
of  OPEN,  PRINT#,  and  CLOSE.  (On  the  Apple, 
PRINT  is  used  in  a  special  way  instead  of  PRINT#, 
We'll  get  to  that  in  a  minute.)  Likewise,  a  program 


is  just  LOADed,  but  a  file  is  "loaded"  into  the 
computer  with  OPEN,  INPUT#,  and  CLOSE. 

It  is  a  bit  more  complicated  with  files,  but  the  bonus 
is  that  you  can  do  more  manipulating  with  files, 
easier  appending  (adding  to  them),  easier  merging 
(making  two  files  into  one),  and  so  on. 

The  command  OPEN  is  generally  used  to 
communicate  with  a  disk  or  tape  drive.  It's  like 
pulling  open  a  file  cabinet  drawer  -  once  a  file  is 
OPENed,  you  can  tiien  get  at  the  records  inside. 
Here's  what  you  would  do  to  OPEN  a  file  named 
"inventory"  on  a  disk  drive  attached  to  a  Commf)- 
dore,  Atari,  or  Apple: 

Commodore 

10  OPEN  1,8,8,"0:INVENTORY,S,R" 

The  first  number  (1)  means  that  this  file  will  here- 
after be  called  #  1 .  When  you  pull  something  out  of 
it,  you  would  use  INPUT#1  (you  can  have  up  to 
ten  files  OPEN  at  one  time).  The  second  number 
(8)  means  "disk  drive"  (a  1  in  this  position  would 
mean:  open  a  file  on  the  cassette  drive),  fhe  second 
eight  is  a  "secondary  address"  which  allows  you  to 
give  afiditional  instructions.  With  disk  drives,  just 
u.se  eigiit. 

The  "():"  specifies  drive  zero  and  the  "S"  means 
.sequential  file.  The  Commodore  disks  can  create 
other  kinds  of  files:  random,  relative,  and  program 
files,  hut  .sequential  is  the  simplest.  Finally,  the  "R" 
means  read.  You  will  be  using  INPUT#  to  get 
things  out  of  this  file.  (A  "W"  here  would  mean 
xvrite  and  you  would  PRINT#  to  the  file.)  To  make 
this  "reading  or  writing"  distinction  for  ta])e  files, 
the  secondary  address  is  used:  a  <jne  means  write 
and  a  zero  means  read.  (10  OPEN  1,1,0,"INVEN- 
TORY"  would  be  the  same  as  the  example  above, 
except  it  makes  a  cassette  file.)  No  drive  number  is 
specified  and  the  "S"  is  not  necessary  since  cassette 
files  can  only  be  sequential  files.) 

Atari 

The  equivalent  of  the  disk  example  above  is  similar 
in  Atari  BASICS: 

10  OPEN* 1, 4,0,"D1: INVENTORY" 
Here,  the  second  number  (4)  stands  for  read 
(use  8  for  write),  the  next  number  (0)  is  not  used  by 
the  disk  drive  (but  is  necessary  to  satisfy  the  syntax 
of  OPEN),  and  the  "Dl"  specifies  the  first  drive 
(there  can  be  up  to  four  drives  attached,  Dl  through 
D4;  D:  means  Dl:). 

Apple 

To  OPEN  an  Apple  disk  file,  you  first  define  a 
special  character,  D$,  which  holds  the  "control-D" 
character  (you  cannot  see  it).  You  would  type: 

10  D$  =  "(hold  down  both  CTRL  and  D  keys)" 
(or  you  could  use  10  D$  =  CHR$(4)  instead) 
1 5  PRINT  D$;"OPEN  INVENTORY" 


a 


THEY  CAME  OUT  OF  THE  BLUE 
OF  THE  WESTERN  SKY 


and  it's  up  to  you  to  stop  them!. 


EM 


FEATURINC  ARCADE  ACTION 
GRAPHICS  AND  SOUND 


You. know  those' alien  residents. who  look  like  blue  jello 
and  snnell  like  a  cow  pasture  on  a  warm  day?  Well, 
•they're  up  in  arms  about  something  and  have  declared 
war!  TheiF  weapons  are  Cyborg  .ships-  with  .  their 
intelligent  parts"  -.suspended  inside,  these  Cyborgs 
^  pursue  like  crazed  bat^s  to  try  and-kamika.ze  your  crew 
"'  ^pods.     You're    armed    with    anV 

unlimited  supply  of  Guided  Energy  \jfV„:,i; —    • 
jSarts,  but  even  when  you  blast  ^?-;;;2> 
fern,    their   doomsday    missiles  f'  \ 
■come  right  at  you!  Good  luck.      -' 
- .  tYou'll  need  it!)  •  ^ 


usually  found  only  on  coin-operated  video  arcade 
machines.  These  include  advanced  play  levels, 
running  high  score  (with  high  score  ■ 'clear" 
option),  two  player  option,  brilliant  horizpntaji 
^r^ing,   and  great  sound  effects.  .4! 


WlhlBffinitWIBIBfBffni  ^:! 


ATARiVEflSiON 


'.mmUeei'iSSp.a'iJi^Slaris 


4SK  mSK  $29.95 


*  Vffv/ViVavne"  Westmoreji 


and  Terr^Jigjan 


16K  TAPE  S19.95  3ZK  DISK  $24.95 


HE     ARE     OVERRIIH 
t6K  TAPE  $19.95  24K  DISK  $24J5 


(30Si  862-6917  IQUESTIONSJ 
ORDER  FROM  YOUR  FAVORITE  DEALER 
,       or  CALL  TOLL  FBEE  IMO»  327-7171 
)         lORDEBS  ONLY  PLEASE  I  ^ 


24 


I 


COMPUTEE 


July,  1982,  Issue  26 


In  our  simple  example,  it  isn't  necessary  to 
include  drive  and  slot  numbers  with  the  OPEN 
command.  Line  15.  however,  could  indicate  drive 
one,  slot  six  il  we  add  "OPEN  INVENTORY, 
S6,Dr'  to  the  quoted  information.  The  Apple  uses 
the  format  in  line  15  for  its  disk  commands;  first 
control-D  is  printed  and  then  the  desired  action  is 
described  within  the  quotes. 

Putting  Somettiing  In  And  Taking  Something  Out 

On  the  Commodore  and  Atari,  you  can  put  infor- 
mation into  an  OPENed  file  by  using  PRINT#. 
For  Commodore  files  you  could  put  the  word 
"PENCILS"  into  the  file  by: 

20  PRINT#1, "PENCILS" 

and  Atari  would  be: 

20   PRINT#l;"PENCrLS" 

The  Apple  uses  two  lines: 

20  PRINT  D$;"WRITE  INVENTORY" 

21  PRINT  "PENCILS" 

(After  line  20,  the  following  PRINT  command  will 
be  considered  a  print  to  the  file,  not  to  the  screen). 
Going  the  other  way.  you  get  something  out  of 
an  OPENed  file  Ijy  using  INPUT#  in  combination 
with  a  string  variable  to  "hold"  whatever  comes 
from  the  file  (they  come  back  to  the  computer  in 
the  order  they  were  PRINT#ed).  To  get  the  word 
"PENCILS"  back  from  a  Commodore  file: 

20  INPUT#I,A$ 

(Then  later  you  could  print  AS  to  see  "PENCILS") 
and  Atari  is: 

20  INPUT#1,A$  I 

(You  must  have  previously  DIMed  A$). 

Again,  the  Apple  uses  two  lines: 

20  PRINT  D$;"READ  INVENTORY" 

21  INPUT  A$ 

After  you  are  finished  INPUT#ing  or 
PRINT#ing  from  a  file  which  had  been  OPENed 
as  file  #  I ,  v'ou  would  CLOSE  1  (PET/CBM)  or 
CLOSE#l  (Atari)  or  PRINT  D$;"CLOSE  INVEN- 
TORY" (Apple).  When  you've  finaliv  CLOSEd. 
von  are  free  to  use  that  file  ninntjer  (#  i  in  these 
examples)  for  some  other  file,  with  a  different 
name.  CLOSE  is  essential,  however.  Without  it  you 
could  permanently  lose  part  or  all  of  a  file,  or  even 
damage  other  files. 

INPUT#  And  PRINT#  Hints 

INPUT#  or  PRINT#  work  very  similarly  to  the 
way  INPUT  and  PRINT  work  from  the  keyboard 
and  to  the  screen.  The  only  catch  is  that  PRINT# 
needs  some  special  handling.  It's  best  to  give  it  a 
line  all  to  itself:  : 

20   PRINT#1,AS  (Commodore) 


30   PRINT#I,B$ 

20  PRINT#l;A$(Atari) 

20  PRINT  D$;  "WRITE  NAMEOFFILE"  (Apple) 

21  PRINT  A$ 

The  reason  for  putting  PRINT#  on  its  own 
line  is  that  this  is  an  easy  way  to  separate  items  in  a 
file:  with  "carriage  returns."  Just  as  10  PRINT  A$  / 
20  PRINT  BS  will  cause  BS  to  be  on  the  line  below 
A$  on  the  screen  (since  using  a  new  line  "forces"  a 
carriage  return  to  take  place)  -  a  separate  program 
line  puts  a  carriage  return  symbol  onto  the  tape  or 
disk. 

Manipulating  Fiies 

Files  are  usually  created  within  loops.  Here's  a 
simple  program  to  "write"  a  file  to  tape: 

10  DATA  BILL,  SANDY,  KATIE,  LARRY 

20  OPEN  1,1,1,"NAMES":  REM  (A  PET/CBM  TAPE 

FILE) 
30  FOR  1=1  T04 
40  READA$ 
50  PRINT#1,A$ 
60  NEXT  I 
70  CLOSEl 

Since  tliere  are  four  names  in  this  file,  the  loop 
counts  up  to  four,  READing  a  new  A$  from  the 
DATA  line  each  lime  through.  Since  PRINT#!  is 
by  itself  on  line  50,  it  will  send  carriage  returns  to 
the  tape  each  time  it  PRINT#s,  separating  the 
names  on  tape.  This  way,  there  will  be  no  question 
that  a  name  should  be  BILLSANDY. 

When  this  file  is  later  read  into  the  computer, 
it  would  be  very  useful  to  know  when  it  ends,  how 
big  it  is.  There  are  two  easy  ways  to  do  this.  You 
could  add  the  word  "END"  to  the  DATA  line  and 
then  change  line  30  to  read:  FOR  I  =  1  TO  5.  Or, 
you  could  put  the  "count"  (the  number  of  records 
for  this  file)  on  the  tape  or  disk  itself,  as  part  of 
the  file.  To  do  this,  you  would  add  a  line:  25 
PRINT#1,4. 

Here's  a  "reader"  program  which  brings  the 
records  from  this  second  type  of  file  back  into  the 
computer,  finding  out  first  what  the  count  is: 

10  OPEN1,1,0,"NAMES":  REM  (A  PET/CBM  TAPE 

FILE) 
20  INPUT#I,COUNT:REM  THIS  WAS  THE  FIRST 

ITEM  ON  THE  FILE 
30  FOR  1=  1  TO  COUNT 
40  INPUT#1,A$ 
50  PRINT  A$  (TO  THE  SCREEN) 
60   NEXT  I 
70  CLOSEl 

If  you  use  the  "END"  technique,  the  reader 
program  would  not  u.se  line  20  and  would  add  line: 
45  IF  A$  =  "END  "  THEN  GOTO  70.  Notice  also 
that  you  can  PRINT#  and  INPUT#  both  numeric 
and  string  (alphabetical)  variables. 

One  final  note  about  something  which  might 
not  be  immediately  obvious:  if  vou  update  a  file  on 


II 


>4li^^ 


SUNRISE 


SOFTWARE 


LEADER  IN  DISCOUNT  SOFTWARE  —  18- 30%  OFF 


ATARI 

Action  Quest D  13.95 

Adventures  M2ea T  15.95 

Adventure  on  a  Boat D  19.95 

All  Bat>a&  Forty  Thieves                       D  26.35 

Angle  Worms T  12.00 

Andromeda D  31 .96 

Assembler  Editor C  47.95 

Asteroids C  35.95 

Bishops  Square D  23.95 

Black  Forest D  19.95 

B-1  Nuclear  Bomber T  13.00 

Bug  Attack D,T  23.95 

Cenltpede C  35.95 

Character  Gensralor D  15.95 

Conf  iicl  2500 T  13.00 

Compu.Read D,T  15.95 

Compu-Math/Fractions D.T  15.95 

Compu-Malh/Decimals D.T  15.95 

Crush,  Crumble  &  Chomp O.T  23.95 

Crossfire D.T  23,95 

Datestones  of  Ryn D.T  15.95 

Deflection T  11.95 

Dung  Beetle D  23.95 

Empire  ol  Overmind D  28.00 

Enlertamer  Kit C  95.00 

Fastgammon T  15.95 

Fort  Defiance T  16.00 

Frogger D  27.95 

Galactic  Empire T  15.95 

Galactic  Trader. T  15.95 

Ghost  Hunter D.T  16.78 

Ghostly  Manor D  19.95 

HI-RES  Mission  Asteroid D  19.95 

HI-RES  Wiz&  Princess D  26.35 

Invasion  Orion D.T  19.95 

Jawbreaker D  23.95 

Kayos D.T  27.95 

KRazy  Shootout C  39-95 

Lisplnterpertef ...D  120.00 

Lords  of  Karma T  16.00 

Lunar  Lander T  12.00 

Match  Racers D  23.96 

Missle  Command  ^ C  35.95 

Mountain  Stiofll T  12.00 

Mousealtach D  27.95 

Next  Step D  31 ,95 

No.  Atl.  Convoy  Raider T  13.00 

Nukev^ar , T  13.00 

Pac  Man C  35.95 

Pathfinder D  27.95 

Planet  Miners T  13.00 

Pooll.5 D  27.95 

Proorammer  Kit C  63.88 

Q.S.  Forth D  63.96 

Raster  Blaster D  23.95 

Bear  Guard T  15.95 

RescueatRigel D.T  23.95 

Ricochet D,T  15.95 

Shattered  Alliance D  31.95 

Softporn  Adventure D  23.95 

Space  Invaders C  35.95 

Starbase  Hyperion D  18.35 

Star  Raiders .0  39.95 

Star  Warriors D,T  31 .95 

Sunday  Goll T  1 3.00 

Tanktics D  23.20 

Temple  of  Apshal D,T  31.95 

Threshold D  31.95 

3D  Tic-TacToe T  15,95 

3D  Supergraphlcs D.T  31 .95 

Treasure  QuesI T  15.95 

VersaWriler  Tatilel A  240.00 

Visicalc D  200.00 

Warlocks  Revenga 0  28.00 


PET/VIC-20 


UNITED  MICROWARE 

Amok T 

Allen  Stitz T 

Blastolds , T 

Breakout T 

Carom T 

Dragon  Maze T 

Gobbler T 

Invader  Fall T 

Laser  War T 

Long  Division —  . T 

Meteor  Hun  C 

Raceway T 

Robot  Blasters C 

Skyma  1  h T 

Space  Division T 

Spiders  of  Mars C 

Super  Hangman T 

Stars  Wars T 

3D  Maze T 

ViCalc T 

ViCal T 

ViCheck T 

ViTermA.... ,T 

RS232  Board A 

3K  Cartridge A 

8K  Cartridge A 

Others 

B-1  Bomber T 

Computer  Acquire T 

Computer  Stocks  i  Bonds T 

Conflict  2500 T 

Conquest , D 

Dragons  Eye T 

Guns  of  Fort  Defiance T 

Midway  Campaign , T 

N.A.  Convoy  Raider T 

planet  Miners  , T 

Thinker D 


15.15 
19.95 
15.15 
12.00 
12.00 
13.55 
19.95 
17.55 
15.15 
13.55 
47.95 
12.00 
31.95 
12.00 
12.00 
47.95 
15.15 
13.55 
12.00 
11.95 
19.95 
19.95 
15.95 
39.95 
31.95 
71.95 


13.00 
16.00 
13.00 
13.00 

180.00 
15.96 
16.00 
13.00 
13,00 
13.00 

396.00 


•    ••••••••• 

BONUS 

•••••••••• 

PAC  MAN 

FOR  ONLY  $30.00 

with 

ANY  ORDER  OVER 

$150! 

•••••••••• 


D-Dlsk,  C-CarUldge,  A-Accessorf,  T-Cassette 


24  HOURS  A  DAY 
7  DAYS  A  WEEK 

ORDER  TOLL  FREE 
800-854-0561  EXT.  812 
800 -432-7257  (CALIF.) 


NO  HASSLE! 

GUARANTEED 

REPLACEMENT  POLICY 


We  take  MASTERCARD  or  VISA. 
(Include  card  U  and  expiration    ^ggi^ 
date. I  California  residents  add      WH^ 
6%  tax-Include  S2.00  (or  postage.    ^^^ 
Prices  subject  to  change. 


1  Mhz-  12  Bit  A/D 

lor  your  Apple  II  Computer 

The  APPLESC0PE-HR1 2  analog  10  digital  convener  uses 
a  high  stability  buried  zener  voltage  reference  and  a  flash 
A/D  to  give  12  bit  accuracy  with  a  14  bit  dynamic  range, 

•  DC  to  1  Mhz  Programmable  Sample  Rate 

•  2048  Sample  BuHer  Memory 

•  Prelrigger  Vievving 

•  Continuous  or  Single  Sweep 

•  4  Channel  Software  Support 
(requires  additional  power  supptyj 

•  External  Trigger  Input 

The  staridard  software  provided  with  each  APPLESCOPE- 
HR  12  includes  all  of  the  functions  necessary  to  turn  your 
Apple  II  computer  into  a  high  quality  digilat  storage 
oscilloscope.  In  addition  all  oltheSCOPE  DRIVER  Options 
are  b^ing  up-graded  to  handle  the  higher  resolution  data- 
Price  per  cnannei  S695 

The  original  APPLESCOPE  still  provides  the  optimum 
price/perlormance  trade  off  for  Ihose  users  requiring  8  bit 
convener  resolution, 

APPLESCOPE  INTERFACE 


•  DC  to  3,B  Mhz  sample  rate 

•  1024  byte  buKer  memory 

•  Pretngger  Viewing 

•  Programmable  Scale  Select 

•  Continuous  and  Single  Sweep  Modes 

•  Single  or  Dual  Channel  Trace 

Price  lor  the  two  board  Applescope  system  is  $S9S 
EXTERNAL  TRIGGEFi  ADAPTER  S29 

SCOPE  DRIVER  Advanced  software  forthe  APPLESCOPE 
analog  to  digital  converters  makes  lull  use  of  the  computing 
power  of  Ihe  Apple  II  to  create  a  total  data  acquisition 
system.  Available  options  include: 

•  Signal  Averaging-Acquires  1  to999signalsweepsand 
displays  the  averaged  resull, 

•  Digital  Volt  Meter  ■  Allows  useas  real  time  OVM  or  use  to 
measure  points  on  an  acquired  sweep. 

•  Disk  Storage-  Allows  automatic  storage  and  recover  of 
acquired  data  on  floppy  disks. 

•  S pectrum  Analyier-Ca iculales  and  displays  frequency 
spectrum  o(  acquired  data. 


BUS  RIDER 
LOGIC  ANALYZER  for  the  APPLE  II 

The  BUS  RIDER  circuit  card  silently  ndes  Ihe  Apple  II 
peripheral  bus  ana  allows  real  time  tracking  ol  program 
(low,  Soltware  provided  allows  set  up  of  trace  parameters 
from  Ihe  keyboard  and  read  back  of  disassembled  code 
alter  a  program  has  been  tracked. 

•  32  bit  by  51 2  sample  memory  buffer 

•  Monitors  Data  and  Address  bus  plus  8  external  inputs 

•  Trigger  on  any  32  bit  word  or  external  trigger 

•  Prelrigger  viewing 

The  BUS  RIDER  is  an  invaluable  development  tool  lor 
anyone  working  with  Apple  II  or  Apple  11+  computers. 

Pnee  S395 


RC  ELECTRONICS  INC. 

7265  Tuolumne  Dr..  Goieta,  CA  931 1 7 
(805)968-6614 


a  PET/CBM  computer,  you  cannot  put  it  back  on  a 
disk  with  the  same  name.  You  might  have  read  it 
off  the  disk  and  into  memory  to  make  some  changes. 
But  before  you  OPEN-PRINT#-CLOSE  it  back 
onto  the  disk,  you  must  first  "scratch"  (remove)  the 
original  version  in  order  to  replace  it  with  the  up- 
dated one.  Again,  each  computer  has  different 
formats  for  this  and  your  manual  will  describe 
them.  Some  systems,  the  Atari  for  example,  auto- 
matically replace  files  when  one  "comes  into"  the 
disk  with  the  same  name  as  one  alieady  on  the 
disk.  This  .?fra/c/(//i^^  of  unwanted  files  is  unnecessary 
for  tape  files,  they  will  write  over  the  old  file  {if  you 
rewind  the  tape). 

There  are  numerous  ways  to  maniptilate  files 
—  this  is  precisely  why  it  is  a  challenging  pro- 
gramming task.  The  programmer  has  more  control 
over  what  is  happening,  but  more  responsibility, 
too.  As  always,  start  out  small  by  perhaps  just 
creating  a  file  with  yoin*  name  on  it,  reading  it  back 
into  memory,  and  printing  it  on  the  screen.  Then 
try  ten  names,  a  mailing  list,  updating  records,  and 
so  on.  Eventually  you'll  become  adept  at  file 
manipulation  and  will  find  many  u.ses  for  these 
valuable  programming  techniques.  © 


TOLL  FREE 

Subscription 

Order  Line 

800-345-8112 

In  PA  800-662-2444 


FILEMANAGER  800 

The  Atari  800  Disl<-based 
File  Management  System 

FILEMANAGER  800  is  a  powerful  personal, 
as  well  as  professional  tool.  The  full  use  of 
graphics  and  sound  make  FILEMANAGER 
800  an  extremely  easy-to-use  file-keeping 
system. 

FILEMANAGER  800  provides: 

•  User-defined  formats 

•  Index  on  any  field  at  any  time 

•  Ultra  fast  sort 

•  Wild  card  search 

•  Up  to  2000  characters  per  record 

•  Full  screen  input  and  edit 

•  Search  on  any  combination  of  fields 

•  Format  lists  and  mailing  labels 

•  Single  keystroke  commands 

•  Full  mathematical  capability 

•  Computed,  constant,  and  dollar  fields 

•  Combine  and  convert  existing  files 

•  Elegant  human  engineering 

•  Database  merge  with  Datasoft's  Text 
Wizard 

•  Exclusive  Datalock^'^  electronic  key 
protection 

•  Compatable  with  Axlon's  128K  Ramdisk 

•  And  much,  much  more  ...  ^_^ 

Use  FILEMANAGER  800  to  create  maiimg 
lists,  inventory  and  business  records,  cus- 
tomer lists  all  customized  to  your  own  needs! 

Requires  4QK  and  a  disk  drive 


820  Coventry  Road 

Kensington.  CA  94707 

(415)527-7751 


\ferbatim 

flexible  disks 

Call  Free  (800)  235-4137  for 

prices  and  information.  Dealer 
inquiries  invited.  C.O.D.  and 
charge  cards  accepted. 

PACIFIC 
EXCHANGES 

100  Foothil!  Blvd. 
San  Luis  Obispo.  CA 
93401.  In  Cal.  call 
(800)  592-5935  ot 
(805)  543-1037 


FILEMANAGER  800  is  a  trademark  of 
SYNAPSE  SOFTWARE 


Atari  is  a  r 


trademark  of  Atari,  Inc. 


July.  1982,  issue  26 


COMPUTE! 


27 


This  exciting  action  game  is  for  the  Atari  and  the  VIC. 
Blast  out  new  caverns,  dig  the  gold,  and  return  to  the 
sitrface  for  your  reward.  !J  you  run  out  of  dynamite,  gel 
to  the  surf  ice  fast  or  you'll  ivauder  the  mine  fn-ever.  And 
watch  out  for  cave-ins  —  they  can  block  your  exit,  or 


Program  1.  Atari  Version 


worse! 


Gold  Rush! 


Joseph  Weber 
Rapid  CiV,  SD 


After  reading  iht-  fascinaling  article  "Using  The 
VIC  Joystick,"  by  David  Malrnberg  {Home  and 
Educational  Comfniliug! .  Fall,  1981),  I  conidn't  wait 
to  try  out  what  I  had  learned.  It  wasn't  long  after  I 
got  to  the  VIC  keyboard  (hat  the  Gold  Rush  game 
started  to  emerge. 

After  a  few  faLse  .starts,  here  it  is. 

The  game  gives  von  one  more  chance  lo  use 
your  joystick.  In  this  game  yon  have  live  miners  to 
dig  as  much  ,gold  as  you  can  from  the  Lost 
Goldmine.  Each  miner  has  ten  sticks  of  dynamite 
(charges)  lo  blast  his  wav  into  the  mine.  The  miner 
gathers  them  by  inoving  to  the  same  space  as  the 
dot  (pokcX,8l). 

The  number  oi  pieces  of  gold  is  coimted  and 
displa\ecl  at  the  l^ottom  of  the  screen.  The  mnnber 
of  charges  left  is  also  displayed  at  the  bottom  of  the 
screen.  After  galliering  all  the  gold  you  can,  you 
must  move  (nit  of  the  mine  lo  the  Assay  Of  lice  (die 
heart)  to  exchange  the  gold  for  moncv.  When 
you  touch  tlie  heart,  the  gold  is  exchanged  Ibr 
money  at  the  rate  of  Gold  times  Remaining 
Charges. 

Cave-ins  Can ...  Put  You  Out  Of  The  Gome 

Ihat  all  stjimds  easy  enough,  Ijui  there  are  several 
things  that  can  hap[:>en  to  slow  up  yoiu"  progress. 
First,  there  are  the  cave-ins.  Since  the  Lost 
Goldmine  is  very  old,  cave-ins  occur  every  time  )ou 
blast.  I'hese  cave-ins  can  block  your  way  out  or 
(how  can  I  put  this  nicely)  ah...  put  you  out  of  the 
game.  When  you  are  caved-in  upon,  yom-  gold  is 
lost  and  the  miner  is  replaced  with  an  asterisk.  If 
you  can  reach  the  asterisk,  you  regain  all  of  the 
gold  the  "dead"  miner  liad. 

Another  danger  can  beset  you  if  you  should 
use  up  all  of  your  charges.  When  this  happens,  you 
have  only  a  short  time  to  get  back  to  the  surface.  If 
you  cannot  exit  the  mine,  either  due  lo  a  cave-in  or 
a  slow  miner,  then  all  is  lost  and  you  end  up  wan- 
dering the  mine  forever. 

Let's  plug  in  our  joysticks  and  strike  it  rich. 
There's  gold  in  them  there  hills! 


Atari  Version  Notes 

This  game  simulates  the  appearance  of  the 
\'IC  \ersion  by  using  a  custom  character  set 
in  Graphics  mode  1.  Notice  that  only  half  of 
the  character  set  in  ROM  needs  to  be  trans- 
ferred lo  RAM,  since  Graphics  modes  1 
and  1;^  can  only  access  64  cliaraclcrs  (to  allow 
multicolor  text),  so  we  loop  from  0  lo  5 1  I. 
This  game  makes  extensive  use  of  the 
LOCATE  connnand  lo  "look  at"  the  com- 
puter's screen,  such  as  checking  for  various 
objects  the  miner  finds.  Al.so,  unlike  the 
VIC  version,  if  you  clear  ihc  mine  of  all 
gold,  you  can  start  over  with  a  new  mine 
when  you  "cash  in"  yoiu"  gold.  You  get 
tliree  "lives." 


160  RB1  ATARI  G(]LDRUSH 
110  REM 

120  REM  Custom  d'la.racter-s: 
136  DATA  56.5b..  Ibi 5b, 84/ 16.40.68 
i4y  MTft  17e..S5j  170,85. 170.  £5. 170.35 
150  QhTA  0/28..68. 110..  126.62.28.0 
160  CtftTA  129.  bb.  36. 24. 24. 36. 66. 129 
170  DATA  128.64.32.16.8.4.2.1 
180  DATA  1.2..4..8.16.32.b4.12'8 
190  DATA  lb.- lb.  124. 16.  lb.  16. 56. 124 
2-00  Din  CHAF^$(8).l.lHir;H';3.2> 
210  CHAR$="*+-=<>';"^mhER=3 
220  GRAPHICS  1+16= SET COLOR  4.6.4-SETCuLO 
R  e.l.l0:SETCuLOR  3.4.10 
2:B  ?  tb .: "  liXDRLSH ! "  =  SETCOLOR  2.3.0 
240  POSITION  y.0=?  #6; "please  w^lt" 
250  CHSET=(  FtEK'i  106  )-S  )*256  ■■  CHijRG=57344 
260  IF  F-EEKd^iSET+y^'Oe  THEN  340 
270  ?m.  1=0  TO  511  ■■POKE  CH::;ET+I.PEEK(CHO 
RG+n^^EXT  I 
280  FOR  1=1  TO  7 

230  CHF'OS=CHS-ET+(  ASC(  CHAR*(  I )  >-32  >*8 
390  FOR  J=0  TO  7 
310  REAO  A  =  POKE  CHF'US+.J.A 
320  1€XT  J^hEXT  I 

330  FOR  1=32  TO  39 : POKE  CH:5ET+I.255-PEEK 
(CH0RG+I>  =  1€XT  I 
340  F^E  75b.r^;ET.-25b 
350  POSITION  9.0:?  #6.i"        -CD) 
360  l-IUGGETS=0 

370  FOR  1=1  TO  22  =  FOR  .J=0  TO  19 
380  IF  RHD<Qy>0,4  THEN  UXOR  ASCC CHAR*-: 2 
)>+128  =  PLuT  .J.  I  =  GOTO  480 
390  IF  I>3  THEN  COLOR  A3C(  CHAR$(  3  ;■ )  =  PLOT 
J.I=HJGGET3=NUGGETS+1 
408  t€XT  .J=f-EXT  I 
410  CHAR;GE3=10:POSITIOt^  9.23- ?  #b.;"[CHAR 


28 


COMPUTEI 


Jutv.  1982.  Issue  26 


GESl    %■  CHARGES 

420  XPOS=11:YF-O:5=0^  £11^=0^  GOTO  596 

430  REM  miH  LW 

440  ST=STICK<0>^TR=STRIG'::0;' 

450  IF  PEEK(20»15  THEN  PCtKE  703,<IHT(lb 

m^:  0 )  )t  16+ 10):  FtJKE  20. 0 

460  IF  Ef1F  T^EH  SOUND   LT.  18.=  Sa=T:*:(T<S) 

+2^TI=TI+MF  TI>208  THEN  SOUND  l,e..0.0^ 

GOTO  1126 

470  IF  1-TR  THEN  IF  EriF=0  THEN  S20 

486   IF  ST=15  T^EN  448 

498  U=-(  ST=14  )S(  VPOS>Q  X  ST=13  m  VP0S<22 

) 

500  H=-(  ST=1 1  )*( vpuS>0 )+( ST=7  M MPuS< 19  > 

510  COLOR  32:  PLOT  ypa5..YPK; 

520  XP0S=MPO3+H:VP0S=VPOS+U 

530  LOCATE  yp05/i'PuS..l.K^T 

546  IF  WHAT=3£  THEN  598 

550  IF  1-JHhT=ASC(CHAR$(3)>  THEN  GOSUB  640 

=G0TO  590 

560  IF  WHHT=ASC(CHARt(7;')  THEN  GOSUB  768 

:G0TO  5S) 

570  IF  \>mi=A  THEN  GOSUB  676  ^RB1  CASH  IN 

t 

580  SOUND  0.106.12.8:FiJF:  l-j=l  TO  28 ■■NEXT 

14= SOUND  0. 0. 0.. 0 :  XPOS=XPOS-H ■■  YPuS=YPOS-i J  = 

COLOR   138 :  PLOT  MFUS /I'POii  MjJTO  448 

5^  COLOR  138  =  PLOT  XPOi/i'FtiS 

600  IF  EtIF  Am  VPOS=0  THEN  EriF=e  =  COLOR  3 

2  =  FtOT  XPOS/yF-OS^SijUND  lAi..0..0  =  GuTO  418 

610  FOR  W=8  TO  8  STEP  -1  =  SOUND  e..W-;;5.12, 

W  =  f€XT  U 

el's  GOTO  440 

630  GOTO  630 

640  FOR  l-J=15  TO  8  STEP  -1  =  SOUND  0..20.10, 

\A- hea  w= ggld=G!XD+i  =  nuggets=nuo:ets-i  =  i 

F  f-UGGETS<W  THEM  mGG£TS=U 

650  Pi3SITI0t4  0.23  =  ?  #€.;.  "sold  ";GOLD.:"     " 

660  RETURN 

670  REM  CASH  IHi 

680  SOUND  2..  4,.  10.4 

690  FOR  W=10  TO  5  STEP  -l=FuR  1=15  TO  8 

STEP  -1= SOUND  0.W.18.I=NEKT  I^^EXT  H 

7^  SOUND  2..0..Q.0 

710  CftSH=CASH+uOLD:^CHAKGES  =  GOLD=e 

720  GOSUB  650 

7:^  F-OSITION  14.0  =  ?  ibiCASH 

740   IF  NLIt:GET3=0  THEN  POP   =GOTD  366 

750  RETURN 

760  REM  GET  THE  GOLD  FFSM  DEAD  MINER 

770  FOR   1=3  TO  1  STEP  -1 

780  IF  IJHICH'::I.0>=;KPuS  and  NHICH(I.1)=YP 

OS  T^€N  S^J 

796  t€XT   I=RETURM 

see  gold=gixd+1'Wich<i..2:j=gosub  650 

810  RETURN 

820  F£M  EXPLOSION 

830  XF'=XP0S+H  =  YF-YP0S+U=IF  YF-8  THEN  448 


840  RESTORE  3887 

£■56  DATA  0,.0.."1.-L1;  L-L  L  1..-1 

860  FOR   1=1  TO  5= READ  A..E 

870  IF  XP+H>=0  AND  XP+A<=i9  AND  YP+E>=1 

(Hi  YP+B<=22  THEN  LOCATE  XP+A..  YP+B..ZZ=  IF 

ZZ=45  THEN  Mi:GETS=NUGGETS-i 
880  ma   l:i:^OR  hSC(CHAR*-(4)) 

898  IF  :>y>9  Am  XP<20  Th€H  PLOT  :>f-/Y'P 
980  COLOR  aSC<CHAR*(5))=IF  YP>2  AND  XP>0 

1\£H  PLOT  ;=<P-hYP-l 

910  IF  YP<22  A^«3  XP<19  THEN  PLOT  XP+l.YP 
+1 

920  COLOR  HSCt:cmR$(6;0=IF  YP>2  AND  XP<1 
9  Th£N  PLOT  :=<F'+l/fP-l 
930  IF  YP<22  AHj  XP>8  THEN  PLOT  XP-LYF+ 
1 

940  DL=PEEK(  568  )+256*PE£K(  56n  =  3U=PEEK(  7 
12) 

958  FO?  W=15  TO  8  STEP  -0.5:SOUhCi  0..50..0 
.W  =  SW=1-SW  =  P0KE  712. SWh  4*16+6)  =  POKE  DL. 
112*SW=hEXT  W 

960  POKE  DL. 112  =  POKE  712.  SU 
978  RET-I 
980  COLOR  32= PLOT  XP,YP=IF  YP>2  AND  XP>0 

TVEH  PLOT  XP-l.YP-1 
998  IF  YP<22  AND  XP<13  TbEN  PLOT  XP+l.YP 
+1 

1080  IF  YP>2  AND  ^^P<19  TVEN  PLOT  XP+l.YP 
-1 

1010  IF  YP<-22  AND  XP>0  THEN  PLOT  XP-l.YP 
+1 

1020  COLOR  138  =  FtOT  XP0S/tP0;5 
ia30  FOR  1=1  TO  20 

1040  RX=INTC20*Rm(0))  =  RY=I^m22*RND(0)+ 
1> 

1058  LOCATE  R-'X.RY-1.Z2 
1060  LOCATE  R:>=:,F:^'.Z  =  IF  Z=32  AfCl  Z2=171  T 
m\  COLOR  171  =  F10T  RX.RY 
1070  IF  Z=138  ThEH  1130 
1080  bEXJ   I 

1898  CHARGES=CHf«GES-l= POSITION  17/23=? 
#6; CHARGES;"   "; 
1100   IF  CHARGES >0  THEN  448 
1110  TI=0  =  Ef1^=l=F"OSITIOt-]  9..23  =  ?  #6;  "set 
outCA)       ";=GOTO  440 
1120  PSh  DEAD  ril^ER 

1130  FOR  1=14  TO  0  STEP  -8 . 5  =  SETC0U3F;  3, 
4,1  =  SOUND  0. 1 ..  10..  I  =  ^EXT  I  =  RESTORE  3488 
1140  READ  A,W=IF  A>8  ThEN  SOUND  8. A. 18.8 
=  FOR   1=1  TO  l#2  =  NEXT   I 
1150   IF  A>8  TI€N  SOUtl  8. 8. 8.0  =  FOR  H=l  T 
0  5  =  t-EXT  W  =  GOTO  1148 
1 1 60  CCLOR  ASC-t:  (mPM  7  ':> )  =  PLOT  XPOS .  'fPuS  = 
I44ICK MINER.  2 )=GOLD  =  0X0=8  =  GOSUB  658 
1170  miCH':: MINER,  0)=XPOS  =  WHrCH(MIbER.l)= 
W'OS  =  MI^£R=MIhER-l  =  IF  nilER=0  THEN  1218  = 
REM  !J*ME  OUER 

1180  SETCOLOR  3.4.10  =  tjJTO  418 
use  [»TA  100.. 30. 100. 28..  100.. 5..  186. 38. S5. 


PERFORMANCE  NEVER 

SEEN  BEFORE  ON  A 

MICRO-COMPUTER 

MASTER  is  a  DEVELOPMENT  TOOL  as  well  as  a 
SOFTWARE  SECURITY  TOOL  totally  Integrated  with  BASIC, 
giving  to  new  instructions  permitting: 


GENERATION  OF 
INDEXED- 
SEQUENTIAL  FILES 
WITH: 

•  Keyed  access 

•  Scan  forward  or  backward  by  key 

•  File  size  iimrted  by  disk  drive  only 

•  10  files  opened  simultaneously 

•  Hashing 

•  Key  regeneration  possible 

•  Instructions:  open,  write,  read, 
exist,  start,  next,  onerror 


GENERATION  OF 
INPUT  AND  OUTPUT 
SCREEN  FORMATS 
USING  A 

REVOLUTIONARY 
SCREEN 
GENERATOR: 

•  Easy  instruction  to  create  a  page: 
scroll,  reverse,  clear,  line,  col. 

«  127  zones  for  input  or  output, 
completely  parameterized  withi 
numeric  formatting  instructions: 
decz.  rgqz,  inz,  outz,  clearz 

•  Screen  page  creation  witti 
subsequent  saving  on  disk 
instructions:  load,  save,  copy, 
exchange 


REPORT  FORMATS 
MASK 

FORMATTING 
PAGINATION 

Date  control 

22  digit  precision  math  (  +  ,  -,  /,  x) 

Direct  disk  access 

•  Save  programmes  with  a  Nolist 
Command 

•  Security  key 


Master  can  be  either  development  or  a  runtime  system 

Master  designed  for  CBM  4000  or  8000 

Master  was  developed  by  Micco  Application 

Distributed  by 

CIVD 

CANADIAN  MICRO  DISTRIBUTORS  LTD. 

500  Steele  Ave.,  Milton,  Ontario  L9T  3P7  416-878-7277 


i*k:'---'_-S;-2.""'^'-5B"?.HC-s  '-  -.ijL 


«:  .-V-r.  ^ft^/  ;:\.'  i.TS-i 


30 


COMPUTEl 


July.  1982.  Issue  26 


46.50.30. 100.20. 105.'  10. 100..  30 

1200  DATA  ""i.S 

1210  POSITION  e.0  =  ?  #6.:  "9-iiVie  ouer" 

1220  POKE  7©.PEEK'::53770) 

1230  IF  PEEK 53273 ><>6  THEH  1220 

1240  RUH 


Program  2.  VIC  Version 

100  CLR:S=0tC=10:M=4:L=0:W=0 

110  PRINT" {CLEAR} " 

112  GOSUB300 

120  POKE36879,9 

130  GOSUB800 

132  Z=7712:FB=0:Y=250 

140  POKEZ,32 

150    IFJlTHENZ=Z+22:IFPEEK(Z)=10  2THENZ=Z-22 

160    IFPEEK(Z)=35THENZ=Z-22 

170  IFJ2THENZ=Z-1:IFPEEK (Z) =102THENZ=Z+1 

180  IFPEEK(Z) =35THENZ=Z+1 

190  IFJ3THENZ=Z-22:IFPEEK(Z) =102ORZ<7680THE 

NZ=Z+22 
200  IFPEEK (Z) =35THENZ=Z+22 
210  IFJ0THENZ=Z+1: IFPEEK (Z) =10  2THENZ=Z-1 
212  IFPEEK(Z}=35THENZ=Z-1 
2  20  IFPEEK (Z) =8 1THENS=S+1:GOSUB6000 
222  IFPEEK(Z)=83THENGOSUB4000 
224  IFPEEK (Z) =42THENGOSUB3000 
230  IFFBTHENGOSUB5000:GOSUB8000 
240  PRINT" {H0ME5 {20  DOWN} { REV]G0LD{OFF} "  ;  S; 

TAB (10) " {REV}CHARGES{OFF}";C 
250  POKEZ,90 
260  IFC=<0THENGOSUB9000 
270  DD=37154:P1=37151:P2=37152 
280  GOSUB500 
290  GOTO140 
300  REM  INSTRUCTIONS 
310  PRINT"{DOWN} {04  RIGHT} {REVlVIC  GOLDRUSH 

{OFF}" 
320  PRINT:PRINT:PRINT" {04  RIG HT} {REV} Z {OFF} 

=  MINER" 
330  PRINTrPRINT" {04  RIGHT} {REV}Q{ OFF}  =  GOL 

D" 
340  PRINT:PRINT" {04  RIG HT} { REV} * { OFF}  =  DEA 

D  MINER" 
350  PRINTjPRINT" {04  RIG HT} { REV} & {OFF}  =  DIR 

m  II 

360  PRINT:PRINT" {04  RIG HT} { REV} S{OFF}  =  ASS 

Ay  OFFICE" 
362  PRINT:PRINT;PRINT" {02  RIGKT}USE  {REV}FI 

RE  BUTT0N{OFF}  TO" 
364  PRINT" {02  RIGHT}BLAST" 
370  PRINT" {HOME} {20  DOWN} {REV} PRESS  ANY  KEY 

TO  PLAY" 
380  A$="":GETAS:IFAS=""THEN380 
390  PRINT" {CLEAR} " 
400  RETURN 

500  P0KEDD,127!P=PEEK(P2)AND128 
510  J0=-(P=0) 
520  P0KEDD,255:P=PEEK (Pi) 
530  Jl=-( (PAND8)=0) 
540  J2=-( (PAND16)=0) 
550  J3=-{ (PAND4)=0) 
560  FB=-( (PAND32)=0) 
570  RETURN 
800  REM  DRAW  BOARD 
810  X=7702 
820  F0RI=1T022 


830  POKEX,35 
840  X=X+1 

8  50  NEXTI 

860  POKE7712,32 
870  X=7724 
880  F0RI=1T018 
890  F0RJ=1T02 
900  P0KEX,35 
910  X=X-1 

9  20  NEXTJ 
930  X=X+24 
940  NEXTI 
950  X=8098 
960  F0RI=1TQ22 
970  P0KEX,35 
980  X=X+1 

990  NEXTI 

1000  FORI=1TO180 

1010  X=INT(RND(1) *374)+7724 

1012  IFPEEK (X)=35THEN1010 

1014  IFPEEK (X)=102THEN1010 

1020  POKEX,102 

1030  NEXTI 

1040  FORI=7724TO3097 

1050  IFPEEK (I) =102THEN1070 

1052  IFPEEK {I)=35THEN1070 

1060  P0KEI,81 

1070  NEXTI 

1080  POKE7689,35:POKE7692,35:POKE7691,8  3 

1090  GOSUB2000 

1200  RETURN 

2000  REM  PLACE  MINERS 

2002  IFM<0THEN9500 

2010  X=;7680 

2020  FORI=0TO4 

2030  POKEX,32 

2040  X=X+1 

2050  NEXTI 

2060  X=7680 

2070  F0RI=1T0M 

2080  POKEX,90 

2090  X=X+1 

2100  NEXTI 

2110  C=10:S=0 

2120  Z=7712 

2130  PRINT" {HOME} {20  DOWN} 

214  0  FORI=814  2T08164:POKEI ,32: NEXT 

2150  IF  M=0THENPOKE7680,32 

2200  RETURN 

3000  REM  DIG  UP  MINER 

3010  S=S+S1 

3200  RETURN 

4000  REM  TALLY  GOLD 

4  00  2  FORI=7694TO7701:POKEI,32:NEXT 

4010  F0RJ=1T05 

4020  PORI=15TO0STEP-1 

4030  POKE36878,I 

4040  POKE36876,230 

4050  FORT=1TO10:NEXT 

4060  NEXTI 

4070  POKE36876,0 

4080  NEXTJ 

4090  C1=C:IFC1=0THENC1=1 

4100  W=S*C1+W 

4110  PRINT" { HOME} {REV} {WHTj {13  RIGHT} $"; STR5 

(W) ;".00{RED}" 
4120  POKE7691,83 
4130  M=M-1 
4140  GOSUB2000 
4150  RETURN 


All  the  advantages 
of  Mupet,  PLUS... 


MHif  rinHJifiiM  rrurui  rnjrrjjnii  III  III  rn  11  mill  itiiHiMliMiiu 
i/HJ'H  Jij'iijf  Mrirruriirurri  rii  rii  Ml  iiti  iiiiii  ill  III  luiuniiu  II 
/j^/ijf  ri/rMniJMiJi  iiM  Ni  in  II  uri  III  Mil  Miiiii  iiVMU  lui  MiMiiu 
j/^Hi/fM^ni^riuriMriMriNiiriMMMiiiiiMiMMMMtLiMMnHnu 


^  _,  r^EaiVA"  dual  drive 

^l  conrmrmdope  L^E9IVI  »tappy  disk 


CMD 

CANADIAN  MICRO 
DISTRIBUTORS  LTD. 


500  Steele  Ave., 
Milton,  Ontario  L9T  3P7 
416-878-7277 


MUPET 


saves  money 
and  time  too! 

Mupet  II  offers  all  the 
advantages  of  Mupet,  plus: 

•  Can  protect  against 
incorrect  use  of  harmful 
disk  commands. 

•  No  more  printer  interface 
-  background  printing 
supported  on  IEEE,  RS  232C 
and  parellel  ports  included 

in  controller. 

•  Programmable  32K  RAM 
controller  provides  user 
defineable  operating  systems. 

•  Up  to  16  computers  may 
be  connected  to  central 
printer  and  disk  drives. 

Integrate  intra-office  terminals 
for  common  data  access 
allowing  independent  analysis 
for  such  functions  as: 

•  Accounting 

•  Sales  forecasts,  budgets 
and  orders 

•  Production  scheduling 

•  Word  processing 

The  only  product  available 
capable  of  serving  Daisy 
Chained  Commodore 
Computers  up  to 
100  feet. 


i 


MUPET  II 

a  small  price  for 

huge  capabilities,  from: 

»995.00 


Peripherals 
unlimited.. 


FANTASTIC  PRICES! 

OUR  FAST  SERVICE,  PRODUCT 
SELECTION  AND  OUR  CUSTOMERS' 
SATISFACTION  MAKE  US  #1. 


ZENITH 


Z-89-48K 
Z-90-64K  DO 
Z-1 9  Terminal 
Z-121  Monitor  12' 


S2299 

S2588 

S777 

$149 


ATARt  COMPUTERS 

Atari  800  16K 

$688 

Atari  400 

$318 

Atari  Interface  Module 

$174 

Atari  810  Single  Disk 

$444 

Atari  815  Dual  Disk 

TBA 

Atari  830  Modem 

$166 

Programmer 

$59 

Entertainer 

S84 

Star  Raiders 

S34 

16K  Mem.  Exp.  for  Atari 

$74 

32KMem.  Exp.  for  Atari 

$114 

NEC  PRINTERS 


7710/30  SpinwriterR/0 
7720SpinwriterKSR 
3510/30  SpinwriterR/0 
3500  Serial  Spinwriter 


NEC  DOT  MATRIX 
PC-8023 

Call  for  prices  on  ribbons,  etc. 


$2279 
$2649 
$1699 
$1599 

$474 


MORE  PRINTERS 

Anadex  9500/9501 

$1295 

Anadex  DP-9000 

$1049 

Okidata  Microline80A 

$339 

Okidata  Microline  82A 

$474 

Okidata  Microline  83A 

$724 

Tractor  (OKI  80 +  82  only) 

$60 

Diablo  630 

$2044 

MONITORS 

Sanyo  12  "  GRN  Pfiosphor  $266 

Sanyo  12'  Black  +  Wtiite  $239 

Amdek12'300GRNPhosptior  $164 

Amdek  12' Color  $344 

NEC12"GRNPfiosptior  $164 

NEC  12  "Color  $344 


EPSON  PRINTERS 

MX-70 

MX-80w/Graphics 

MX-80  FT  (Friction  +  Tractor) 

MX-100  (15 'Carriage) 

$288 
$444 
$544 
$744 

Call  tor  prices  on 
Ribbons,  Cables  and  Interfaces 

NEC-PC  8000 
Series  Microcomputer 

PC-8001 A  Computer  w/32K 
PC-8012AW/32K  +  Exp.  Slots 
PC-8031A  Dual  Mini  Disk 
PC-8032A  Add-on  Mini  Disk 

$888 
$588 
$888 

$777 

Call  for  Software  Prices 

TOLL  FREE 

1-800-343-4114 

ORDERING  INFORMATION 

Our  order  lines  are  open  9AM  to  6PM 
EST  Monday  thru  Friday.  Phone 
orders  are  welcome;  same  day  ship- 
ment on  orders  placed  before  10AM. 
Free  use  of  Mastercard  and  VISA.  Per- 
sonal checks  require  2  weeks 
clearance.  Manufacturer's  warranty 
included  on  all  equipment.  Prices  sub- 
ject to  revision.  C.O.D.'s  accepted. 

For  service,  quality  and  delivery  call: 

PERIPHERALS  UNLIMITED 

(617)655-7400 

62  N.  Main  St.»  Natick,  MA  01760 


July,  1982,  Issue  26 


COMPUTEI 


•33 


5000  REM  EXPLOSION 

5002  IFC<=0THEN9000 

5004  IFPEEK(Z-1)=35THEN5012 

5010    POKEZ-1,86 

5012  IFPEEK (Z+1)=35THEN5022 

5020    POKEZ+1,86 

5022  IFPEEK (Z+22)=35THEN5032 

5030  POKEZ+22,86 

5032  IFPEEK (Z-22)=35THEN5100 

5040  POKEZ-22,86 

5100  POKE36877,220 

5110  FORL=15TO0STEP-1 

5120  POKE36873,L 

5130  F0RT=1T075:NEXT 

5140  NEXTL 

5150  POKE36877,0:POKE36878,0 

5152  IFPEEK(Z-1)=35THEN5156 

5154-  POKEZ-1  ,  32 

5156  IFPEEK(Z+1)=35THEN5160 

5158  POKEZ+1,32 

5160  IFPEEK(Z+22)=35THEN5164 

5162  POKEZ+22,32 

5164  IFPEEK (Z-22)=35THEN5170 

5166  POKEZ-22,32 

5170  C=C-1:POKE8138,32:POKE8139,32:POKEZ,9  0 

5300  RETURN 

5000  REM  DOT  PICKUP 

6010  POKE36878,15 

6020  FORL=10TO1STEP-1 

6030  POKE36376,L*25 

6040  NEXTL 

6050  FORL=1TO10 

6060  POKE36876,L*25 

6070  NEXTL 

6080  POKE36876,0:POKE36878,0 

6100  RETURN 

8000  REM  CAVE  IN 

8010  X=INT(RND{1)*1)+10 

B020  F0RI=1T0X 

8030  V=INT(RND(l)*418)+7702 

8032  IFPEEK (V)=35THEN8030 

8  0  34  IFPEEK (V)=90THENGOSUB860  0:GOTO132 
8036  IFPEEK (V)=81THEN8030 

8040  POKEV,102 

8050  NEXTI 

8100  RETURN 

8600  REM  SQUASH  MINER 

8610  P0KE36378,15 

8620  FORI=255T0128STEP-4 

8630  POKE36874,I 

8640  FORT=1TO30:NEXT 

8650  NEXTI 

8660    POKE36878,0:POKE36874,0 

8670    M=M-1 

8680    POKEZ,42 

8682    S1=S 

8690  GOSUB2000 

8800  RETURN 

9000  REM  GET  OUT  COUNTER 

9  004  IFY<128THENPOKEZ,3  2:GOSUB2000:GOTO132 
9010  PRINT'MHOME}  {21  DOWN}  (02  RIGHT)  { REV}TIM 

E  TO  GET  OUT{OFF}" 
9020  POKE36878,15:POKE36876,Y 
9030  FORT=1TC30:NEXT 
9040  Y=Y-4 

9050  POKE  36878, 0:POKE36876,0 
9100  RETURN 
9500  REM  PLAY  AGAIN 
9520  PRINT" [HOME} {21  DOWN} {WHT} {REV}PLAY  AGA 

IN?Y=YES  N=NO{OFF} {RED] " 


9530  IFA$="Y"THEN100 
9540  A$="":GETA$:IFA$= 
9560  IFA$="Y"THEN100 
9999  END 


"THEN9540 


COMPUTE!  The  Resource, 


Space  Shuttle ^' 

"  LAUNCH  and  ASCENT  TO  ORBIT 
Simulatton  Software  for  the  Atari  800" 

Pilot  the  space  shuttle  into  orbit!  Written  in  basic 
and  machine  language,  this  is  the  most  accurate 
space  shuttle  simulation  available  for  the  Atari. 

Not  a  game,  but  a  serious  simulation, 
(ages  12  to  adult)  Requires  24K  RAM  and  1  joysticl<. 

Cassette  only,  S12.95  (16  page  booklet  included) 


^mQmwm 


SOFTWARE 


P.O.  Box  1123.  Solvang  CA  93463 

(formerly  Cocoa  Beach,  Florida) 

Atari  is  the  trademark  of  Atari,  Inc. 


asmmatuHcm 

FOR  16K  ATARI  400/800 

A  fast  action  player  vs.  pta/er  game  of  space  combat 

Realistic  gravity  and  orbital  mechanics 

Extensive  use  of  Atari  Graphics  and  sounds 

700%  Machine  Language   , 

Up  to  four  players  zf-^^*"^     ■'■"'  '"^i^gi^jr 

Four  skill  levels 

Four  battle  modes 

Simple  joystick  controls 


Disk  or  cassette 

J29.95  at  your  local 

computer  store,  or  send 

ctieck  or  mortey  order 

tiirectly  to  Apogee 

Software. 

Dealer  iryqulries  invited 


Challenge  your  friends  or  neighborhood  aliens  In  an 
out-of-this-world  game  of  skill  and  daring.  Attack  with 
your  Photon  missiles,  Protect  yourself  with  shields. 
Maneuver  with  your  thrusters  or  enter  hyperspace  to 
avoid  damage  or  destruction. 


Add  $1.00  for  shipping. 
Add  6%  tax  in  California 


Atari,  Atari  400,  and  Alari  800  are 
r^gi5t«r6d  trademarl(5  ot  Atari,  Inc. 


OGEE  SOFTWARE 

%1&  Farialotie  Ave 
Cnais*oftri.  CA  9UI1 
Phone  1213)  &a2-935a 


34 


COMPUTEI 


July.  1962.  Issue  26 


You've  seen  the  bank  ads:  "Retire  a  Millionaire."  Type  in 
this  short  program  (it  will  run  on  Atari,  Radio  Shack 
Color  Computer,  PETICBM,  VIC,  and  Apple)  and  see 
for  yourself  how  IRA  accounts  compute.  The  program 
uses  very  little  viemoij.  The  "^  "  symbol  means  "to  the 
power  of  " 


IRA  Planner 

Richard  and  Betty  Givan 
Richmond,  KY 


Most  get-rich  schemes  of  the  past  have  proven  tcj 
be  of  questionable  legahty  and  duljious  worth.  Tlie 
latest  promotion,  however,  is  endorsed  by  the  US 
CJovernmcnl  and  seems  foolproof.  This  device  is 
the  Individual  Retirement  Account  (IRA),  ex- 
panded in  1982  to  allow  up  to  a  S2000  ($2250  in  a 
joint  plan  with  a  nonworking  spotise)  yearh-  deposit 
to  be  |)ut  into  a  piivatc  retircrticnt  account. 

This  amotmi  is  flcductible  from  the  person's 
gross  income  during  the  year  deposited,  decreasing 
the  income  tax  accordingly.  The  retirement  fund  is 
then  free  to  gi  ow  at  the  prevailing  competitive 
interest  rate  —  compounded  daily  and  tax  iree  - 
until  it  is  withdrawn  during  retirement.  Although 
taxes  are  then  due,  presumably  the  taxpayer  will 
be  in  a  lower  tax  bracket  and  so  pay  a  lesser  tax. 

The  Relationship  Between  Inflation  And  Interest 

The  allure  of  the  plan  is  in  the  rapid  growth  of  the 
princi[jal  through  i:ompoiuifl  interest  at  the  c:ur- 
rently  high  rales.  Hence  the  ads  in  which  banks  all 
but  guarantee  that  you  can  be  a  millionaire  upon 
retirement  via  a  $2()0{)  yearly  deposit  for  35  years 
at  a  \2^/(  return.  Actually,  your  account  u'ouid  be 
worth  an  astotmding  $1,161 ,059.  Such  a  modest 
sacrifice  in  order  to  retire  a  millionaire! 

As  with  all  gel-rich  plans,  however,  there  is  a 
catch  —  not  a  legal  or  even  an  ethical  one,  but  a 
mailer  of  economics.  The  IR.A  ))i"omolion  cam- 
paigns conveniently  overlook  the  devastating  effects 
of  inflation  on  your  million.  Al  the  same  lime  that 
compound  intcresi  is  building  vour  fortune,  infla- 
tion is  eroding  it.  Historically,  the  interest  rate  is 
fairly  well  dictated  by  the  rateof  inllation.  Although 
temporary  imbalances  occur,  economists  generally 
agree  that,  in  the  long  run,  the  interest  rate  will 
seek  otU  a  level  approximately  three  to  four  percent 
higher  than  the  inHation  rate. 

Assuming  that  the  prevailing  inilation  rate 
(say  nine  percent)  holds  steady,  your  retirement 
fortune  of  .'1 1 , 1  (i  1 ,059  from  the  above  example  wilt 
really  be  worth  only  $56,875  in  the  purchasing 


power  of  1982  dollars.  You  ma)'  have  a  carload  of 
dollars  in  the  year  2017,  but  the  Cadillac  you  buy 
to  haul  it  home  would  cost  $306,000  and  the 
gasoline  to  power  it  would  be  $25  a  galioni 

This  is  not  to  say  that  an  IRA  is  a  bad  way  to 
sa\e.  It  does  offer  immediate  tax  relief,  and  that  in 
itself  might  provide  you  with  the  incentive  to  put 
aside  .some  funds  for  vom  golden  years.  But  it 
would  be  well  to  put  the  numbers  in  perspective 
when  planning  for  your  future. 

The  program  asks  )ou  several  questions:  the 
amount  of  mone)'  you  wish  to  set  aside  each  year; 
the  lax  bracket  you  are  currently  in  (which  can  be 
found  by  reference  to  the  IRS  booklet  accompa- 
nying your  tax  forms,  but  is  not  really  essential  to 
the  rest  of  the  program);  your  age  when  you  begin 
and  end  the  plan;  and  the  average  interest  and 
inllation  rates  you  expect  to  experience  (here's 
where  a  crystal  ball  program  would  be  nice). 

The  progiam  then  displays  the  lax  savings  you 
would  receive  the  first  year  in  the  plan.  (Income 
and  tax  rate  would  probably  fluctuate  too  much  to 
benefit  from  attempting  to  compute  these  over  the 
lifeof  yoiu'  IRA.)  The  sum  of  \oin"  deposits  is 
displayed,  followed  by  the  principal  of  the  account 
increased  hv  accumulated  interest.  Then  the  real 
spending  power  of  your  final  nest  egg  is  shov\n  by 
reducing  the  principal  to  reflect  the  inflation  rate, 
^'ou  can  see  its  woith  in  terms  of  the  1982  dollar. 
Bear  in  mind  that  this  money  is  taxable  when  with- 
drawn, also.  You  can  then  easily  experiment  witli 
different  interest  and  inflation  rates  at  this  point 
without  having  to  answer  the  other  questions 
again. 

One  note:  the  two  questions  about  inflation 
and  interest  ask  for  tlie  figures  expressed  as  decimals. 
In  other  words,  if  you  want  to  answer  12%  inflation, 
you  should  type  .  1 2  and  6%  interest  would  be 
entered  as  .06. 


10  REM  IRA  PLANNER 

30  DIM  AS{1):REM  this  LINE  ONLY  NECESSARY  ~ 

FOR  ATARI 
4  0  PRINT"AT  WHAT  AGE  DO  YOU  PLAN" 
50  PRINT"TO  OPEN  AN  IRA  ACCOUNT" ;: INPUT  A 
60  PRINT: PRINT"AT  WHAT  AGE  DO  YOU  PLAN  TO  ~ 

RETIRE"; :INPUT  Al 
70  Y=A1-A 

80  PRINT:PRINT  "HOW  MUCH  DO  YOU  PLAN  TO" 
90  PRINT"DEPOSIT  PER  YEAR";:INPUT  D:C=D 
100  PRINT:PRINT"WHAT  IS  YOUR  TAX  BRACKET?" 
110  PRINT" (ENTER  PERCENTAGE  EXPRESSED" : PRIN 

T"AS  A  DECIMAL) ": INPUT  P 
120  PRINT:PRINT"WHAT  IS  THE  AVERAGE  INTERES 

T  RATE  YOU 
130  PRINT"EXPECT  FOR  THE  ACCOUNT  OVER  THE 
140  PRINT"YEABS  IT  EXISTS?  (ENTER  PERCENTAG 

E 
150  PRINT"EXPRESSED  AS  A  DECIMAL) ": INPUT  R 
160  PRINT:PRINT"WHAT  IS  THE  AVERAGE  INFLATI 


Commodore  Programs 
Move  into  the 
Fast  Lane  with 


PetSpeed   —  The  Optunizing 
Basic  Compiler  that  runs  Commodore 
BASIC  40  times  faster.  You  can 
dramatically  reduce  long  processing 
times,  tedious  disk  handling,  and  long 
print  runs.  No  other  compiler  can 
offer  the  same  speed,  compatability 
and  trouble-free  compiling  as 
Petspeed. 

Compatible  — Petspeed 
compiles  any  BASIC  application  and  is 
available  for  any  combination  of 
4000  and  8000  series  Commodore 
equipment. 

Faster  The  key  that  sets  Pet- 
speed apart  from  other  compilers  is 
optimization.  Where  most  compilers 
merely  translate  from  one  language 
to  another,  Petspeed  analyzes  your 
source  program  to  eliminate  unnec- 
essary complexities,  thus  speeding 
processing  time.  Your  program  is 
reduced  to  much  smaller  components 
and  reassembled  into  a  far  more  effi- 
cient form.  Compare  these  optimizing 
features; 

•  4-Pass  compiler. 

"  Automatically  uses  faster  integer 
arithmetic  when  possible. 

•  Automatically  handles  frequently 
occurring  variables  and  arrays, 

•  Subroutines  no  longer  need  be 
located  at  the  beginning  of  your 
program. 

•  Petspeed  automatically  calls  all 
subroutines  at  maximum  speed. 

•  Petspeed  runs  twice  as  fast  as 
other  compilers. 

•  Larger  programs  require  far  less 
memory  when 
compiled. 


Easy  to  Use  Petspeed  is  as 
easy  to  use  as  these  screen  displays 
illustrate. 


Direelory 

BEFORE 

compilation. 


Simply  type  in 
your  prn^rnm 


Security  a  security  device  is 

provided  to  run  Petspeed,  but  no  run- 
time key  is  necessary  for  compiled 
programs.  You're  free  to  build  in 
your  own  protection.  Petspeed  code 
cannot  be  listed  by  others,  so  com- 
piled programs  cannot  be  tampered 
with.  Your  programs  belong  entirely 
to  you. 


Move  your  Commodore  into  the  fast 
lane  today  with  Petspeed.  And  save 
$25  too!  Send  this  coupon  today  to 


til  -.vmiiltirt  etiic  <.e  Hi 
^17^^  dates  trn 


'iiur  pfojriB.jt"    pr) 


Directory 

AFTEfl 

compilation 

It  isn't  necessary  to  add  compiler 
directives.  Simply  type  in  the  pro- 
gram name.  In  less  than  2  minutes, 
you'll  see  your  program  run  up  to 
times  faster. 


SMALL  SYSTEMS  ENGINEERING 

222  B  View  Street 

Mountain  View,  CA  94041 

(415)964-8201 


Dealers:  Ask  for  our  free  demo  disk. 
Price  $325 


Offer  Expires  8/S1/82 


Pleasu  rusti  Petspeed  today!  My 

disk  format  is  LI  8050    IZ  4040. 

My  computer  is    II  8032    P  4032. 


My  ctieck  for  $300  [plus  6'/!%  sales  tax 
for  CA  res.)  is  enclosed. 


D  Please  send  more  information    D  I'm  a  dealer.  Send  me  your 
free  demo  disk. 


Name 

Company 

Street 

City    


_Slate. 


-Zip. 


Mail  to:  Small  Systems  Engineering 

222  B.  View  St.,  Mountain  View.  CA  94041 


C7 


Aj  com*^ 


odorG 


TZ..^  8032 


omput^c»- 


(Vlodet 


•3. 


JUST  A  SAMPLE  OF  THE  MANY  PRODUCTS  WE  CARRY,  CALL  US  FOR  OUR 
WE  WILL  MATCH  SOME  ADVERTISED  PRICES  ON  CERTAIN  PRODUCT^t0 


PAGE  CATALOG. 
TED  UNDER  SIMILAR  "IN  STOCK"  CONDITIONS. 


Tomorrow's  Technology  Today 


C=^ 


m.  Commodore  Computer 

VIC  20  Personal  Computer  S  299.95 

VIC  1515  Graphic  Printer *  395.00 

CBM  4016 S  995.00 

CBM  4032 $1295.00 

CBM  8032 $1495.00 

CBM  SuperPet  9000 $1995.00 

CBM  8050  Dual  Disk  Drive $1795.00 

CBM  4040  Dual  Disk  Drive $1295.00 

CBM  2031  Single  Disk  Drive $  695.00 

CBM  4022  Tractor  Printer $  795.00 

CBM  8010  IEEE  Modem $  279.00 

CBM  Dataselte $     74.95 

CBM-IEEE  Interface  Cable $     39.95 

IEEE-IEEE  Interface  Cable $     49.95 

NEC  Spinwriter  Printer 

NEC  7730 $3085.00 

NEC  7710 $3085.00 

NEC  7720 $3610.00 

NEC  3510 $2290.00 

NEC  3500RD $1895.00 

Tractor  Feed  Options  are  available 


Professional  Software 

WordPro*'^—  A  Family  of  CBM  Word  Processing  Programs 

WordPro  2  Plus $  199.95 

WordPro  3  Plus $  295.00 

WordPro  4  Plus $  450.00 

WordPro  5  Plus  (for  CBM  8096) $  450.00 

The  Administrator  (DataBase  for  CBM)   $  650.00 

POWER -^(Programmer's  Utility  ROM) $     89.95 

InfoPro™  (DataBase  for  CBM) $  295.00 


Epson  Printers 

MX-70 $  299.95 

MX-80  w/graphtrax $  645.00 

MX-80  FT $  745.00 

MX-100  FT $  945.00 

INTERFACE  CARDS 

8141  RS-232  Interface  Board $  75.00 

8145  RS-232  Interface  Board 

w;2K  Buffer $  149.00 

8151  RS-232  Interface  Board 

w;X/ON-X/OFF $  170.00 

8161  IEEE  Interface  Board $  55.00 

8131  Apple  Interface  Card   $  85.00 

8232  Apple  Interface  Cable $  35.00 

8220  TRS-aO  Cable $  35.00 


Atari 


Atari40016K $  399.00 

Atari  800 16K[incl.  BASIC  cartridge).  $  899.00 

Atari  410  Recorder $     99.95 

Atari  810  Disk  Drive $  599.95 

Atari  822  Thermal  Printer   $  299.95 

Amdek  IVionitors 

Video  100G  (Limited  Quantity) $  179.00 

Video  300G $  200.00 

Color  1   $  449.00 

Color2 $  999.00 

Diablo  630  Printer 

Diablo630 $2710.00 

Tractor  Option $  350.00 


CMD  iVIupet 

MC-«OOAMupet  Controller  $  995.00 

(Multi-User  Controller  for 

CBM  Computers) 
CM-100  Channel  Module  .  .  $  250.00 
Printer  Module $  350.00 

Qume 

Spring  9/45    $2495.00 

Tractor  Option $  210.00 

WordPro,  POWER  and  InfoPro  are 
registered  trademarks  of 
Professional  Software  Inc. 


NEECO 

679  Highland  Ave. 
Needham,  MA  02194 


(617)  449-1760 

TELEX:  951021 


MON-FR!  9:00  -  5:30  E.S.T. 
MASHRCARD*V1SA 


ON  RATE" 
170  PRINT"YOU  EXPECT  DURING  THE  YEARS" 
180  PRINT"BETWEEN  OPENING  THE  ACCOUNT  AND 
190  PRINT"RETIREHENT?  (ENTER  PERCENTAGE 
195  PRINT"EXPRESSED  AS  A  DECIMAL) ": INPUT  I 
200  S=D*P 
210  PRINT:PRINT"YOU  WILL  SAVE  $  "; INT (S)  ; "  0 

N  TAXES  THIS  YEAR." 
220  T=D*Y 
2  30  PRINT: PRINT"THE  TOTAL  AMOUNT  DEPOSITED  ' 

INTO  YOUR 
2  40  PRINT" IRA  ACCOUNT  OVER  THE  " ; Y ; "  YEARS  ' 

IS":PRINT"$"; INT(T) ; " ." 
250  FOR  J=l  TO  Y 
260  X=D*(l+R/365)"365 
270  D=X+C 
280  NEXT  J 
290  PRINT:PRINT"WHEN  YOU  RETIRE,  THE  AMOUNT 

IN  YOUR" 
300  PRINT"ACCOUNT  WILL  BE  S "  ;  INT(X) ; " , " 
310  2=(1+I) "Y 
320  W=X/Z 
330  PRINT:PRINT" .. .WHICH  IS  WORTH  S";INT(W) 

;"  IN  1982" 
340  PRINT"DOLLARS." 
350  PRINT:PRINT"WOULD  YOU  LIKE  TO  TRY  THIS  "■ 

AGAIN  WITH 
360  PRINT"DIFFERENT  INTEREST  AND  INFLATION  ' 

RATES" 
370  PRINT"  (Y  OR  N)";  '.INPUT  A$ 
380  IF  A$="N"  THEN  END 
390  D=C:GOTO  120  (© 


Undutter 
Your  Desk! 

Put  your  Commodore  computer 
in  a  desk  of  its  own, 

Si^e  it  w8l  look  great, 

and  the  desk  is  smaS  enougti 

to  fit  afrnost  anywhere. 

But  tlie  real  benefits  are 
your  personal  comfort 
and  efficiency. 


interlink,  Inc. 

Box  134 

B«iTven  Springs,  Ml  49103 

;61§  473-3103 


If  you're  interested  in  Apples, 

call  MAUG. 


v^l^V       MAUG  is  a  Special  Interest  Group 
^^^^      (SIG)  of  Apple"'  users  on  the  CompuServe 
Information  Service.  SIGs  are  active  and.  growing  groups 
of  individuals  who  share  a  common  interest  and  form 
an  "electronic"  club  using  the  CompuServe  Information 
Service  as  its  communications  medium.  Share  advice  and 
exchange  information  with  other  Apple  users  across  town 
or  anywhere  around  the  coiintiy. 

We  think  you'll  lUte  the  CompuServe  Information  Service: 
CB  simulation,  electronic  maU,  news  wires,  financial 
information,  games,  databases,  program.mLing  languages, 
big  mainframe  computer  power  and  free  data  storage.  All 
for  a  basic  charge  of  only  S5.00  an  hour  nights  and  week- 
ends. All  you  need  is  your  Apple,  a  modem  and  some  inex- 
pensive software.  The  software,  and  a  free  demonstration, 
are  available  at — of  all  places — a  Radio  Shack*  Computer 
Center.  CompuServe  Information  Service,  5000  Arlington 
Centre  Blvd.,  Columbus,  Ohio  43220.  (614)  457-8650. 


CompuServe 


TAKE  A  BYTE 
OUT  OF  YOUR  i 
SOFTWARE  COST! 


Save  20-40%  on  all 

major  Brands  of  micro-software 


D  90  day guarantee-a  product  satisfaction 

guarantee. 
D  Largest  Inventory  of  old  and  new 

releases. 
□  Next  Shipping  byUPS-orwepayfreight. 

No  per  item  tiandling  fee. 

WARHINGII  Buyi  ng  from  Software  Galore 
SAVES  MONEY! 

AVAILABLE  NOWII 

Pac-Man  and  Centipede 

Member  of  the  B«ller  eusiness  Bureau 

SOFTWARE  GALORE 

A  MEMBERSHIP  BUYING  SERVICE 

For  free  catalog/orders  call 
21 3-827-1 851  or  1-800-423-6326 


Mail  to 

P.O.  Box  10005 

Marina  del  Rey,  CA  90291 


^Letter  Quality  9Hnting 
^t^tsSest 

FOR  APPLE,  ATARI,  COMMODORE,  IBM, 
NEC,  OSBORNE  1,  TRS  80,  and  others 


OLYMPIA  TYPEWRITER 

REN  TEC  ES  INTERFACE 

ESlOO/101/105 

■ 

Installation  in  15  minutes 

•  92  Character  electronic 

using  existing  EStOO/lOl/ 

keyboard 

105  cables 

•   Dual  piicti.  10  and  12 

« 

CMOS  logic  for  minimal 

•    17.5CPS 

dram  on  power  supply 

•  All  settings  from  keyboard 

• 

Hi  or  low  true  Status  bits 

•  Auto  correction  to  full  line 

• 

Accepts  RS232-C  serial 

•   Daisy  type  print 

with  7  crystal  controlled 

mechanism 

Baud  rales 

•    14  '/„  inches  writing  line 

* 

Accepts  Ceritronics 

•   1400  dealers  nationwide 

parallel  interface 

• 

Selectable  auto,  line  feed 

$1495.00   ES100  TYPEWRITER  &  INTERFACE 
$295.00    INTERFACE  ONLY- 


•COfilMODORE  SLIGHTLY  HIGHER 


Aphorized  Distributor  fo'r:  NEC,  OLYMPIA,  SANYO,  EAGLE,  SHARP,  KONAN 

DEALER  INQUIRIES  WELCOME 

RENfllSSflNCE  TECtiNQLEIGY  GQRPQRnTmN 

1070A  SHARY  CIRCLE.  CONCORD.  CA  94518    •    (415)  676-5757 


VOICE  I/O  THAT  WORKS! 


for  the  COMMODORE  and  APPLE 


Voice  I/O  has  ccsme  a  long  way  from  the 
barely  inlelligiQIe  comouleir  speech  of  on- 
ly a  lew  years  ago  It  is  now  possitjie  to 
enter  dalaorcommanOs  to  your  computer 
iusl  by  talking  to  it  and  Ihe  computer  can 
lalK  back  wilh  clear,  pleasant,  human 
Sounding  voice. 

The  COGNIVOX  models  ViO-10O^  (far 
Commodore)  and  VtO-1O03  (lor  the  Apple 
II  + )  are  at  the  lorelront  ot  a  new  genera- 
hor  ol  Voice  I/O  peripherals  that  are  easy 
to  use.  offer  excellent  performance  and 
are  aflordatily  priced 

SOME  SPECIFICATIONS 

COGNIVOX  can  be  (lamed  to  recognize 
up  to  32  words  or  phrases  chosen  by  ihe 
user.  To  tram  COGNIVOX  to  reccgnue  a 
new  word,  you  simply  repeat  the  word 
thriee  times  undef  the  pfompttng  of  the 
system. 

COGNIVOX  wlH  also  speak  wjih  a  voca- 
bulary of  32  words  or  phrases  chosen  by 
the  usQr  This  vocabulary  is  independent 
of  the  recogniiion  vocabulary,  so  a  dialog 
with  the  compLirer  i$  possible  Memory  re- 
quirements  for  wo^ce  response  are  approx- 
imately 700  b/les  per  word 

For  applications  requiring  moi'e  ttian  32 
words,  you  can  have  t*o  or  more  vocabu- 
laries and  switch  back  and  forth  between 
them.  Vocabularies  can  also  be  stored  on 
disk. 


computers 


iVt'X'i'i/>'^^-\A-«-- 


HOW  IT  WORKS 

COGNIVOX  uses  a  unique  single-chip 
signal  processor  and  an  exclusive  non-li- 
fieai  patiern  matching  algorithm  to  do 
speech  recognition  This  gives  relrable  op- 
eration ai  low  cost-  In  fact,  the  perfor 
mance  of  COGNIVOX  m  speech  recognc- 
tion  IS  equal  or  better  10  u^nits  costing 
many  times  as  much. 


For  voice  oulpul,  COGNIVOX  digitizes 
and  Stores  Ihe  voice  ol  Ihe  user,  usirig  a 
data  compression  algofithm.  This  method 
offers  lour  major  advantages:  First  there 
are  no  restrictions  to  the  words  COGNI- 
VOX can  say  II  a  human  can  say  it.  COG- 
NIVOX will  say  It  too.  Second,  it  is  very 
easy  to  program  your  favcme  words.  Just 
say  mem  m  trie  micraphone.  Tturd.  you 
have  «  choice  of  voices:  male,  lefnaie.  chlJd, 
foreign.  Fourth  and  fofemDSL  COGNIVOX 
sounds  wery,  very  good  Nolhing  in  the 
markei  today  can  even  come  close  to  the 
quality  ol  COGNIVOX  speech  output.  You 
can  verify  th^s  yourself  hy  calling  us  and 
asking  to  hear  a.  COGNIVOX  demo  over 
the  phone.  Hearing  is  believing, 

A  COMPLETE  SVSTEM 

COGNJVOX  comes  assembled  and  lesh 
ed  and  it  includes  microphone,  software, 
power  suppl)*,  burit  in  Speaker/amplifier 
and  extensive  usei  manual.  All  you  need 
10  gel  COGNIVOX  up  and  running  is  to 
plug  Jt  in  and  load  one  of  Ibe  programs 
supptied- 


i\  is  easy  to  wrue  your  own  talking  and 
listening  programs  Too  A  single  slate- 
meni  in  BASIC  is  all  that  you  need  to  say 
o[  recognise  a  word.  Fuil  instructions  on 
how  to  do  It  are  given  m  the  manual 

COGNIVOX  mode!  VIO'1002  will  work 
with  all  Commocore  computers  with  at 
least  16k  of  HAM,  Model  VlO-1003  re- 
quires a  ABk  APPLE  II  >  with  1  disk  dnve 
and  DOS  3.3 

ORDER  YOUR  COGNIVOX  NOW 

Call  us  at  (BQb]  68^-1854  between  9anrt 
and  4pm  PST  and  charge  your  COGNIVOX 
to  your  credit  card  or  order  COD.  Or  send 
us  a  check  in  the  mail,  specifying  your 
computer.  Price  for  either  model  of  COG- 
NIVOX IS  $295  plus  $4  shipping  in  the  U.S 
(foreign  add  10%  we  ship  AIR  MAIL). 


VOICETEK 

P.O.  Box  SU.Oolet*.  CA  33116 


VIC-20 


VlC-20  INTERFACING  BLUE  BOOK 

Did  you  Know  that  your  VIC  can  be  used 
10  control  a  994  toy  motor  so  ef^eGtlve^y 
that  it  runs  Jike  a  precision  machine?  Or 
that  you  can  make  viC  talk  with  an  inter- 
lace you  can  but td  at  a  total  parts  costs  of 
uf\der  i^^ 

These  and  other  18  interfacing  projects 
selected  for  ease  of  construction  and  low 
cost  are  detailed  in  the  VIC-20  Interfacmg 
Blue  Boolt  a  veritable  gold  mine  of  practi- 
cal inrormationon  how  to  ouild  interfaces 
lo  sense  levels,  dial  telephoneSn  delect  Ih 
Quid  levels,  control  lights,  do  AJD  and  OiA 
conversion  and  many  more. 

V^ritlen  by  a  co!ie|ie  professor  m  a 
friendly  and  easy  going  style,  the  Blue 
Book  gives  you  theory  of  operation,  sche- 
matics, program  listings,  parts  lists,  con- 
struction hints  and  sources  of  materials 
lor  each  one  of  Ihe  20  projects. 

II  you  want  to  gef  the  most  out  of  your 
VIC  this  book  is  a  must.  Cost  is  $14.95 
(less  than  75e  per  project!). 

WORD  WHIZ 

Here  is  a  no  inlis  word  processor  ihal 
does  Ihe  job  and  is  so  smaN  it  leaves  plen- 
ty of  memory  for  your  text.  Yet  It  offers 
lull  screen  editing  and  easy  save  of  woj^k 
in  progress.  This  pocket  rocket  does  it  by 
taking  advantage  of  VIC'S  buill-in  text 
manrpulaiion  capabilities.  It  delivers  out- 
standing  perlormance  for  letters  and 
srton  manuscripts  (up  lo  10  pagesj 

WORD  WHIZ  IS  all  that  is  likely  lo  need 
for  word  processing  in  your  VIC  and  costs 
only  S14.9S. 

At>cve  prices  include  postage  in  the 
US.  CA  res.  add  6%  tax.  Foreign  add  S2. 


micrDEignal 

900  Embarcadero  Del  Mar,  Unil  A 
Goleta.  CA  93117 


40 


COMPUTEI 


Julv,19B2,  Issue  26 


With  versions  of  this  excellent  game  for  PET/CBM 
Microsoft  and  Atari  B ASICs,  this  should  provide  hours 
of  amusernent.  It  will  run  on  computers  ivith  8K  or  more 
of  RAM  tnemo)y. 

Maze  Race 


possible  joystick  values,  positions,  and  screen  move- 
ment offsets: 


Mike  Peterson 
Cheyenne.  W/ 


I  was  impressed  bv  the  Maze  algorithm  that  ap- 
peared in  COMPUTE!.  December,  1981,  #19.  After 
watching  the  maze  form  several  times,  I  had  an 
idea  for  a  program  that  incorporated  the  maze 
algorithm. 

First,  I  modified  tlic  routine  so  tliat  two  sym- 
metrical mazes  \vould  be  formed.  One  starts  in  the 
upper  left  corner  of  the  screen  while  the  other 
starts  in  the  lower  right.  By  POKEing  a  32  ($20)  in 
the  center  of  the  screen,  identical  (hut  opposite) 
mazes  are  formed.  As  one  goes  left,  the  other  goes 
right.  And  as  one  goes  down,  the  other  goes  up. 
This  continues  until  the  screen  is  full  and  the  al- 
gorithm completed.  The  mazes  arc  ilien  linked 
together  in  the  screen's  middle  and  a  "target" 
character  is  POKF.d  in  the  center. 

Now,  depending  upon  yoin-  choice  of  options 
during  initialization,  you  race  against  a  human 
opponent  (or  the  computer)  to  the  center  of  the 
maze.  If  you  select  the  two-player  option,  1  strongly 
recommend  the  use  of  joysticks.  The  program  will 
process  both  player's  joystick  input  during  each 
cycle.  On  the  keyboard,  one  player  can  prevent  the 
other's  input  by  holding  a  key  pressed. 

Willi  the  one-player  version,  you  will  always  be 
on  the  right  and  use  the  rightjt)y.siick  or  the  number 
pad  to  control  your  movement.  The  computer  will 
not  begin  imtil  after  your  first  input.  Since  the 
computer  doesn't  know  the  best  path  to  follow,  and 
strays  down  dead-end  paths,  it  is  easy  to  beat.  My 
daughter  loses  just  often  enough  to  keep  her 
interested  and  make  each  game  a  new  challenge. 

Through  experimentation  with  the  joysticks,  I 
found  that  the  left  joystick  .sets  the  high  four  bits 
and  the  right  joystick  sets  the  low  I'our  bits  of  the 
byte  at  address  5947 1  ($E84F).  The  byte.  A,  can  be 
separated  into  a  left  yalue  and  a  right  value  with  : 
A=  PEEK(59471)  :  L=  (A/16)  AND  15  :  R=  A 
AND  15.  If  both  joysticks  are  in  the  same  position, 
L  =  R.  An  array  with  1 5  elements  can  be  used  to 
determine  the  new  position  of  each  player,  move 
there  if  not  off  the  screen,  and  then  erase  the 
previous  position.  The  following  table  shows  all 


LorR 

POSITION 

OFFSET 

0 

not  used 

0 

1 

left/button 

-1 

2 

right/button 

+  1 

3 

button 

0 

4 

not  used 

0 

5 

left/up 

-41 

6 

right/up 

-39 

7 

"P 

-10 

8 

not  used 

0 

9 

left/down 

+  39 

10 

right/down 

+  41 

11 

down 

+  40 

12 

not  used 

0 

13 

left 

-1 

14 

right 

+  1 

15 

center 

0 

Note:  with  the  button  pressed  only  the 
row  can  be  determined. 

Another  feature  of  this  program  is  the 
"flipping"  of  the  marker  that  arrives  in  the  center 
ol  the  screen's  maze  first.  This  is  performed  by 
XORing  the  byte  in  the  center  screen  address  with 
1 28  ($80).  The  result  of  an  XOR  with  128  is  that 
RVS  characters  become  normal  chaiacters  and  vice 
versa. 

Since  BASIC  doesn't  provide  us  with  an  XOR 
function,  I  consulted  a  Boolean  Algebra  text  and 
found  the  AND,  OR,  and  NOT  gates  used  to  pro- 
duce the  XOR  truth  table.  In  BASIC,  XOR  would 
be  this  :  Y=  ((X  AND  (NOT  128))  OR  ((NOT  X) 
AND  128)). 


Program  1.  Atari  Version 


Atari  Notes 

After  the  dual  maze  has  been  generated, 
select  the  niunber  of  players  (player  vs. 
computer  or  player  vs.  player)  by  pressing 
SELECT.  When  readv  to  play,  press 
START.  To  re-start  the  game,  press 
START.  Use  joysticks  plugged  into  jacks 
one  and  two  to  play. 


108  REtl  tn       HAZE  RACE      Uif- 

110  REt1  tU  Himi  UERSION  tn 

120  DIM  A<3)^RE11  SET  UP  DIRECTION  ThELE 

1 30  A(  0  >=2 :  A(  1  .>=-8e :  H(  i  )=-2  •  A<  3  )=80 

140  WL=128  ^  rt.=0  ■■  SC=PEEK(  3S  H25G$PEEKC  89  ;■ 

:(^SC+43:C=3C+877 

150  GRAPHICS  G  =  POKE  752. 1  =  SET  COLOR  2..T[HT 

(lb:^RHD-;e)).4^P0KE  712.PEEK(710) 

160  FOF;  1=1  TO  23 


Turn  To  The  Future 
With  COMPUTE!  Publications 


The  Beginner's  Guide  To  Buying 
A  Personal  Computer 

A  Novice's  handbook  of  useful,  helpful  in- 
formation designed  to  teach  you  the  basics 
of  evaluating  and  selecting  a  personal 
computer.  Written  in  plain  English 
for  the  interested  beginner. 
Complete  with  personal  com' 
puter  specification  charts  and 
buyer's  guide.  Applicable  to 
home,  educational,  and 
small  business  buyers.  ISBN 
0-942386-03-5. 
Paperback.  $3.95. 

COMPUTERS 
First  Book  Of 
Atari 

192  pages  of  useful,  in- 
formative applications 
and  programs  from 
COMPUTEi  magazine  issues 
now  out  of  print,  Includes 
previously  unpublished  infor- 
mation including  Memory  Map. 
Contents  include  such  articles  and 
programs  as  "Adding  A  Voice  Track 
to  Atari  Programs,"  "Designing  Your 
Own  Atari  Graphics  Modes,"  and  "Inside 
Atari  BASIC,"  Spiral  bound  for  ease  of  access 
to  listings.  For  Beginner  level  to  Advanced  Atari 
users.  ISBN  0-942386-00-0.  Paperback.  $12,95, 


Inside  Atari  DOS 

From  the  authors  of  the  Atari  Disk 
Operating  System,  on  exciting  step-by-step 
guide  to  the  DOS  software.  Complete 
istings  of  commented  source  code 
and  detailed  explanations  of  each 
module  of  code.  Author:  Bill 
Wilkinson,  Optimized  Systems  Soft- 
ware, Inc.  Spiral  bound  for  ease 
of  access  to  listings.  For  Inter- 
mediate to  Advanced  Atari 
Users.  iSBN  0-942386-02-7. 
Paperback.  $19.95 

COMPUTEI's 

First  Book  Of 

PET/CBM 

256  pages  of  Commo- 
dore PET  and  CBM  articles 
from  COMPUTE!  magazine 
issues  now  in  print.  Includes 
such  classic  articles  and 
programs  as  "Feed  Your  PET 
Some  Applesoft,"  "Disk  Lister: 
A  Disk  Cataloging  Program," 
and  "Cross  Reference  For  The  PET." 
Spiral  bound.  ISBN  0-942386-01-9. 
Paperback.  $12.95 

COMPUTE!  Books 

invites  dealer  inquiries.  Call  the  Toll 
Free  Number  below  for  Dealer  Information. 


COMPUTE!  Magazine 

A  Monthly  encyclopedia  of  informative  applications  articles  and  programs.  COMPUTE!  features  articles,  programs, 
and  columns  covering  the  spectrum  of  home  and  educational  computing.  Monthly  reviews,  complete  BASIC 
and  machine  language  listings  of  games,  utilities,  applications  such  as  "Programming  Your  Home  Insurance 
Inventor/,"  "Real  Estate  Investment  Analysis,"  "Telecommunications:  How  To  Use  A  Modem,"  and  much  more. 
Written  for  children  and  parents,  educators,  novices  to  advanced  programmers.  Principal  editorial  coverage  is 
Atari,  ApfDie,  Commodore  PET/CBM,  and  VIC-20.  Editorial  coverage  is  expanding  to  include  TI-99/4A  Sinclair  ZX-81, 
and  Radio  Stiack  Color  Computer.  Latest  issue:  224  pages. 

Mail  to:  COMPUTEI  Publications,  P.O.  Box  5406,  Greensboro,  NC  27403  USA 


COMPUTE!  MAGAZINE 

My  Computer  Is; 

□  Commodore  nosi 

□  Radio  Shack 
Co  lor  Computer 

□TlW/dA 

□  other 


PET/CBM 

□  VtC-20 

□  Apple 

□  Atari 

□  AIM 


□  Don't  yet  have  one 


For  Fastest  Service 

Call  Our  Toil-Free 

US  Order  Line 

800-345-S112 

In  Pennsylvania  Call 

800-662-2444 


□  $20.00  One  Year  US  Subscriplion    □  $25.00  Canada  and  Inf  I  Surface  Mail 

□  S36.00  Two  Vear  US  Subscription    □  S38,00  Europe  Air  Delivery  (Foreign 

□  $54.00ThreeYearUSSubscripHon      orders  must  be  pre-paid  in  US  Funds) 

□  Poyment  Enclosed      nviSA      □MasterCard      □  Americon  Express 
Acct.  No. ii<Eill5 ' 

Name 

Address 


City 


state 


ap 


Country 


COMPUTE!  Books 

For  fastest  service,  in  tlie  US  call  Toll  Free  800-334-0868. 

In  NC  call  919-275-9S09. 

Price         Shipping/Handling 


QuanlHy 

Beginner's  Guide  S  3.95  eo.  + 

first  Book  of  Atari  12.95  ea,  + 

Inside  Atari  DOS  199Sea  + 

First  Book  of  PET/CBM  129560  + 


$1-00eo, 
2.00  ea. 
2.00  ea. 
2.00  eo, 

Totol 


All  orders  must  be  prepaid  (money  order,  check  or  charge).  All  payments 
must  be  in  US  funds,  [Oulsid©  the  US  odd  $4.00  shippinng  ond  handling  for  oir 
moil,  S2.00  tor  surface  moil.)  NC  residents  add  4%  sales  fox. 
□  Payment  Enclosed        □  VISA      □  MasterCard      □  American  Express 
Acct  No. Eifpires / 

Nome 

Address 


gh_ 


state 


J!e_ 


CountTy 


Allow  4-6  weeks  for  cleli^erv-  Foreign  surfoce  delEVBJy  2-3  FDonttis 


AT  API  Is  a  registered  trademark  of  Atori.  Inc  PET  and  CBM  are  trodemoiVs  of  Commodore  Business  Machines.  \nc. 


42 


COMPUTEI 


July.  1982,  Issue  26 


170  F-RINT  "I 
1" 
130  HEKT  I 

136  ^B\  G&CRATE  THE  HAZE! 
280  POKE  A; 5: POKE  C. 2^ POKE  SC+499.HL 
210  J=IHT(Rmc:0>*4)^X=J 
220  B=H+H(J)^D=C-H<J)aF  PEEK(B)<>WL  THE 
N  240 
230  P»;E  B^J+l^F-OKE  D.-J+l^POKE  A+INT(A(J 

X2 ':>,H.-  P0^::E  C-I NT( A( J  ;<--2 ) .  HL  ■  H=B  ■  C=D  ■  GO 

TO  210 

240  J=<J+n:i;(J<3)=IF  JOX  THEN  228 

250  J=PEEK(A;':POKE  h.HL^POKE  CHL^F  J<5 

T>EH  A=H-HU-l)^C=C+hf;j-l):GClO  215 
260  A=SC+43  ■■  C=SC+S77  ■■  .J=2 
270  POKE  A.S4:P0KE  Cill^POKE  SC+459.10: 
POKE  SC+4b0.,HL  =  PuKE  SCMSx.HL 
280  DIM  ntl5:J  =  F0R  1=9  TO  IS^nC  I  >=0:HEXT 

rNF'=0 

290  tK  1 4  >=-40  ^  ri(  13  >=4y  ^  M(  11  >=- 1^  H(  7  )=  1^  h 

<10>=-41:rK6)=-35 

300  \t  9  :>=39  ■■  W.  5  >=41  ■-  PLR=  1 

310  Din  t1S$(£0>^t1SI="rfeze  F:dce"^FOR  1=1 

TO  LEHCnS$>^ POSITION  8.1+5:?  MS*(I..I>:^E 

;<T  I 

320  POSITIOH  9.23^?  "0^-|8  Plnyer  L.te.   CoiTip 

titer"; 

330  K=PEEK(  53279  )aF  K=7  THEN  338 

340  IF  K=PEEK( 53279)  THEN  348 

350  IF  K=6  THEN  4® 

368  IF  K=3  THEN  338 

370  t-P=i-NPaF  i-f-d  THEN  328 

388  FUSITim  9..23:?  "     Player  Us.   Plia^r 

390  GOTO  338 
400  F1R=1-PLR 

418  IF  PLR=0  OR  hP  THEN  448 
428  B=A+INT(A(J>/2):Y=PEEK(B)aF  V=HL  OR 
V=10  1\£H  PDK;E  B,.34:PCKE  h..HL:h=B^J=(.J+ 

2M*(j>i;i 

430  J=(J-1H4S(..1=0>:GOTO  488 
440  IF  PLR  ThEH  478 

450  D=C+n(STICK(PLR>>aF  PEEK(D)=HL  OR  P 
EEKc:  0  )=10  Tb£N  FiJKE  D..  1 1 1^  POKE  C .  HL  ^  C=D 
460  GOTO  486 

470  B=A+f1<3TICK(PLR)>aF  PEEK<B>=HL  OR  P 
EEK'::B>=18  then  P0K;E  B,  84:  POKE  H.HL:H=B 
480  F£M  3»E0h€  WON 

490  IF  ROSC+459  AND  COSC+459  THEN  486 
500  P=PEEK(SC+459>-Ff=0 
510  FOR   1=1  TO  50:  POKE  Si>459.P+123^::F'F  =  P 
F=l-Ff:HE:KT  I 
520  REM 

530  IF  C=SC+459  THEN  568 
540  IF  HP  T>B4  POSITION  y..23:?  "        Play 
er-  2  tJon!         "i  ^QJTO  580 
550  POSIT I»l  9/23 ■■•?  "  I  WIN! 

";:GuTO  580 


560  IF  \P  T^EN  FnJSITION  9.23^7  " 

r  1  tkri !         "}■  GOTO  588 

570  POSITION  9,23:?  "  You  win! 

II  . 

i 

580  IF  PEEK(  53279  K>6  THEN  588 
590  RUN 


PI  iae 


If  you  want  to  make  Maze  Race  (for  Aiari) 
more  challenging,  add  tlie  following  lines. 
They  cause  the  screen  to  blank  out  during 
the  maze  generation,  preventing  a  "sneak 
preview."  A  .side  effect  is  liiat  this  decreases 
the  time  necessary  to  generate  the  maze: 


155  POKE  559,0 
325  POKE559,34 


Program  2.  Microsoft  Version 

10  REM  ***  MAZE  RACE  *** 

20  REM  *  MIKE  PETERSON  * 

30  REM  **  CHEYENNE, WY  ** 

40  REM 

50  REM  MAZE  GENERATOR  BY  CHARLES  BOND 

60  REM  COMPUTE!  :  DECEMBER,  1981 

7  0  REM 

30  GOTO120 

90  POKE167,0 

100  GETZS:IFZS=""THEN100 

110  PRINTZ$:Z=VAL(Z$} : POKE167 , 1 :RETURN 

120  PRINT" {CLEAR} {05  DOWN} " : PRINTTAB ( 15) "MA 

ZE  RACE{02  DOWN}" 
130  PRINTTAB(5) "HOW  MANY  PEOPLE  ARE  PLAYING 

?{LEFT} "; :GdSUB9  0:NP=Z-l: PRINT 
140  IFZ>2THENPRINTTAB(5) "SORRY,  ONLY  2  CAN  " 

PLAY. {DOWN} ":GOTO130 
150  IFZ=0THENPRINTTAB(5) "PLEASE  ENTER  1  OR  ~ 

2.{DOWN}":GOTO130 
160  PRINTTAB(7)  "ARE  YOU  USING  JOYSTICKS  ?{L 

LEFT}"; :GOSUB90:PRINT 
170  IFZ$="Y"THENJJ=1 :GOTO190 
180  IFZ$<>"N"THENPRINTTAB(7) "PLEASE  ENTER  Y 

OR  N.{DOWN} ":GOTO160 
190  IFNPTHENPRINT" {DOWN}LEFT  PLAYER  =  Q  :RI 

GHT  PLAYER  =  W":GOTO210 
200  PRINT" {D0WN}I  AM  THE  Q  :YOU  ARE  THE  W" 

210  IFJJTHENPRINT" {DOWN}USE  THE  JOYSTICK  TO 

MOVE  AROUND" :GOTO250 
220  IFNPTHENPRINT" {DQWN}Q  USES  W  FOR  UP, A  F 

OR  LEFT,D  FOR  RIGHT," 
230  IFNPTHENPRINT"AND  X  FOR  DOWN." 
240  PRINT" {DOWN}W  USES  8  FOR  UP, 4  FOR  LEFT, 

6  FOR  RIGHT,  AND  2  FOR  DOWN." 
250  PRINT" {DOWNJPRESS  ANY  KEY  TO  BEGIN  *{LE 

LEFT}"; :GOSUB90 
260  DIMM(255) : JS=1 51 : IFJJTHENJS=59471 :G0T02 

90 
270  M(18)=40:M(42)=-l:M(41)=l:MC50)=-40 
280  M(24)=40:M(48)=-1:M(47)=1:M(56)=-40:GOT 

0300 
290  M{7)=-40:M{11)=40:M(13)=-1:M(14)=1 


July,  1982,  Issue  26 


COMPUTEl 


43 


3  00    DIMA{3) :A(0)=2:A(1)=-80:A(2)=-2:A(3)=80 

:WL=160:HL=32:SC=327  68 
310    BL$="{REVl 

[OFF}" 
320  A=SC+81:C=SC+917 
330    PRINT" {CLEAR} " : F0RI  =  1T023 : PRINTBL$  :  NEXT 


9,HL 

B)  OWLT 
)/2,HL: 

360 
HL:IFJ< 


340    P0KEA,4 :POKEC,l:POKESC+49 
350    J=INT(RND{TI) *4) :X=J 
360    B=A+A(J) :D=C-A(J) :IFPEEK( 
370    POKEB,J:POKED,J :POKEA+A(J 

(J)/2,HL:A=B:C=D:GOTO350 
380    J=(J  +  1)  *-(J<3>  :  IFJOXTHEN 
390    J=PEEK (A) ;POKeA,HL:POKEC, 

A-A(J) :C=C+A(J} :GOTO350 
400    POKESC+498,HL:POKESC+499, 

HL:A=SC+81 :C=SC+917 
410    POKEA,81:POKEC,87:J=2:K=2 
420    PP=PEEK (JS) : IFPP=255THEN4 
430    PP=PEEK(JS) 
440    IFNPTHEN470 
450    B=A+A(J)/2:Y=PEEK(B)  :IFY= 

KEB,81:P0KEA,HL:A=B:J=(J+ 

) 
460  J=(J-l)-4* (J=0) :GOTO510 
470  IFJJTHEN500 
4  80  IFPP<>24ANDPP<>4  8ANDPP<>4  7ANDPP< 

520 
490  B=A+H{PP) -.IFPEEK  (B)  =HLORP 

0KEB,81:POKEA,HL:A=B:GOTO 
500  Q= CPP/16)AND15:B=A+M(Q) : I 

EEK (B)=4  2THENP0KEB,81;P0K 

510  IFJJTHEN540 


HEN380 
POKEC-A 


4THENA= 
42:POKESC+500, 

20 


HL0RY=4 
2)+4*(J 


2THENP0 
>1 


EEK  (B)  = 
510 

FPEEK (B 
EA,HL:A^ 


>56THEN 

42THENP 

) =HLORP 
B 


FORTH 

programmers: 

COMPUTE! 

is  looking  for 

screens  and 

applications 

articles, 


5  20    IFPPO18ANDPPO4  2ANDPPO41ANDPPO50THEN 

550 
5  30    D=C+M(PP)  : IFPEEK  (D) =HLORPEEK (D) =42THENP 

OKED,87:POKEC,HL:C=D:GOTO550 
5  40    Q=(PPAND15) :D=C+M(Q) : IFPEEK (D) =HLORPEEK 

(D) =42THENPOKED,87:POKEC,HL:C=D 
5  50    IFAOSC+499ANDCOSC+499THEN4  30 
560    FORI=0TO99:W=PEEK(SC+499) : X= (WAND (N0T12 

8) )0R( (NOTW) AND128) : POKESC+499 ,X 
570  NEXT 

580  PRINT"ANOTHER  GAME  ?{ LEFT} "; :GOSUB90 
590  IFZ$="Y"THEN320 
600  IFZ$<>"N"THENPRINT"{02  UP}":GOTO580    C 


A 

ATARI     {-  -> 

400  16K $319.00 

400YOURSto32Kor48K  CALL 

800  (16K)  659.00 

410  RECORDER  84.00 

810DISKDRIVE  449.00 

850  INTERFACE  169.00 

830  MODEM 149.00 

825  PRINTER 575.00 

481  ENTERTAINER  KIT 85.00 

482  EDUCATOR  KIT 125.00 

483  PROGRAMMERS  KIT 60.00 

484  COMMUNICATOR  KIT 309.00 

Prices  subject  to  change  without  notice. 
Shipping  extra.  No  tax  out  of  state. 
Ca.  residents  add  appropriate  taxes. 

WE  ARE  AN  AUTHORIZED  ATARI  SALES  AND 
SERVICE  CENTER 


COMPUTERTIME,  INC. 

P.O.  Box  216 
Kentfield.  CA  94914 


CALL  TOLL-FREE 
In  California 


800-227-2520 
800-772-4064 


~~Tht  moM  bmSTnng  c]ullrn|c  al  ittt  etmutf 

o.  Rubick's  Cube' 

HAS  BEEN  CRACKED! 

SoliCub  i 

Comokaia  computw  Anilr>ii  ird  lolulko^t  let  •ibiliaiy  in<tii>  ctM^liyuialior 

.  Fai  raiic«»  &  d^cvIi  lUh*  ■  3-D  imrnM^on   ■  ftc^nd  «ll>cli   .  Tru  ffm*  yOu  uu  ii.  trv*  mot*  yOu  ■iiiiik*  it 

Tha  SoHCube  kil  (tnc)  udino  tlisk.  CUM  » ilocumenlaHod) $4Q.  95 

U  availabiB  now  lor  CBMJPET"  (40  column,  »l  loisi  t5k|  Irom 

COMQU  EST 

For  VIM  S  MC  DtOms  only  call  TOLL-FREE  m  nr.| 

800-824-7888 

(■n  CA  BOCMU!  777?! 

and  ask  for  Operator  348 

Please  add  $2.90  for  h&s  par  order,  and  indicate  ROM  and  RAM. 


271  E,  C4in«lbac:k.  5uil«  1 
PhtCMnix,  Ati2on«  BS012 
TfllBphonfl  60^-264-0124 


H 


SPECIALS  OR  IHTE6RATED  CIRCUITS 


6502 

745 

10/695 

50/6.55 

100/6.15 

65DZA/6512A 

8.40 

10/795 

50/7.35 

100/6.90 

6520  PIA 

515 

1C'4,90 

50/4.45 

100/4  15 

6522  VIA 

6.45 

10/6,10 

50/5-75 

100/545 

6532 

7.90 

10/7,40 

50/7.00 

100/660 

2114-L200 

2.45 

25/2.30 

100/2.15 

2114-L3Q0 

2  25 

25/2,10 

100/2.00 

2716  EPROM 

5.50 

5/5,15 

1 0/4.80 

2532  EPROM 

9,90 

5/945 

1 0/8  90 

611 6  Hitachi  2Kx8  CMOS  RAM  9.90 

5/9,45 

10/8.90 

4116-200  ns  RAM 

8  to  15 

Zfifo  Insertion  Fofce  24  pin 

Socket 

2.00 

S-lOO  Wire  Wrap  Socket 

2.40 

A  P  Products    15%  OFF 
APHobbyBlox    15%  OFF 


MODEM  SPECIAL      $99 

SIGNALMAN  Mkl  from  Anchor  Automation 
DIRECT  CONNECT  Modem  with  RS232  CaDle  and  Connector 
inclutJed  Fully  compaliftle  with  all  Bell  103  modems.  0  10 
300  bps.  full  duplen.  frequency  sWt  keyed  modulation,  auto- 
matic ANSW/ORIG  selection,  dnect  connect,  audible  lone 
carrier  delecl  indicator  sell -contained  taltefy  powered 

PET/CBM  Version  (Mkl  P)  S1 69 

ATARI  Version  $99 

COMPACK  INTElllGENT  TERMINAL  PACKAGE  SItS 

Combines  inletligent  RS232  port  liardware  from  cgrs  Micro- 
tech Willi  EHS  Intelligent  Terminal  sollware  to  allow  you  lo 
connect  any  RS232  Modem  to  PET/CBI^ 


I1S232  MODEM  -  STAR 
IEEE  488  MODEM  -  STAR 


SALE  SIZ8 
SALE  SI99 


We  carry  Apple  11+  from 
Bell  &  Howell 


I  &K  RAM  Card  for  Apple  95 

fullFORTH+  fir  Aprb  II  $75 

A  tulHeatured  FORTH  with  edhancements.  Conlorms  to 
FORTH  Intefest  Group  standards 

REVERSAL  (Spracklen)    32K  Apple  2B.00 

Data  Managef  (Lutus)  24K  Apple  40.00 

Data-Grapti  (Boyd)  48 K  Apple  40.00 

Apple  II  Usef's  Guide  (Ostxicnel  12  00 

Introduction  lo  Pascal  {SytKxl  10,30 

Pascal  Hanilbook  (Sybex)  12.00 

Musical  Applications  o1  Micros  iCtiamberlin)  20.00 

User  Guide  lo  the  Unix  System  13 

6502  Assembly  Language  SulKOiilines  1 1 

PET  Fun  and  Gairws  8 


Qcommodore 


CBM-PET  SPECIALS  ,„  ,,^ 

8023  Printer  - 1 36  col,  1 50cps  tj-directional  (995)     775 

8300DaisyWhf>el-40cpsbi-direclional  (2250)  1750 

8032  80  x  25  CRT.  business  keyboard  (1495)  1 100 

Super  Pet  (1995)  1600 

8096  Board  (extra  64K  RAIi*  lor  8032)  (500)    400 

8050  Dual  Disk  Dnve-  1  megabyte  (1795)  1345 

8250  Dual  Disk  Dnve  -  2  megabyte  (2195)  1750 

CBM  IEEE  Modem  (395)     199 

4016  full  si2e  graphics  keyboard  (995)    795 

4032  full  Si2e  graphics  keyboard  (1295)    999 

4040  Dual  Disk  Drive  -  330.000  byles  (l  295)    999 

2031  Single  Oisk  Drive  -  165.000  Oyles  (695|     550 

4022  Tractof  Feed  Printer  (795)    630 

C2N  External  Cassette  Deck  (751     65 

Used  CBM/PET  Computers  CALL 

WE  WILL  MATCH  ANY  ADVERTISED  PRICE 


***  EDUCATIONAL  DISCOUNTS  *** 

Buy  I  PET/CBM  Computin  ncihig  1  FflEE 


PETSCAN  I 


$345  base  price. 


AIIOAS  you  10  connect  up  lo  20  CBM/PET  Computers  lo 
shared  disk  drives  and  printers  Completely  transparent  lo  the 
user  Perfect  (or  schools  or  multiple  word  processing  con- 
figurations    Base  conliguialion  supports  3  computers 


VIC  20 

VIC  1515  Printer 
VIC  3K  RAM 
VIC  8K  RAM 
VIC  16K  RAM 
VIC  1540  Disk  Drive 
VIC  Invaders 
VIC  Jupiter  Lander 


259 
335 
36 
54 
112 
500 
24 
24 


VIC  Superslot 
VIC  Super  Alien 
VIC  Maze  in  3-D 
VIC  Cosmic  Debfis 
VIC  Amok  (UMI) 
VIC  Snakman 
VIC  Rubiks  Cube 
VIC  Night  Ricjer 


TNW  1000  Serial  Interlace 

TNW  488/103  with  DAA 

Compute's  First  Book  of  PET  /CBM 

WordPro  3  Plus  ■  32K  CBM.  disk,  printer 

WordPro  4  Plus  ■  8032,  disk  printer 

VISICALC  for  PET  ATARI.  Of  APPLE 

SM-KIT  ■  PET  110 M  UHllllu 

Programmers  Toolkit  -  PET  ROM  Utilities 

PET  Spacemaket  II  ROM  Switch 

2  Meter  PET  (o  IEEE  a  IEEE  lo  IEEE  CaMe 

Oust  Cover  lor  PET 

tEEE-Parallel  Printer  Interface  tor  PET 

fEEE-RS232  Printer  Interlace  foe  PET 

The  PET  Revealed 

Lbrary  ol  PET  Subroutines 


24 
24 
12 
9 
17 
13 
13 
11 

"TT6 

450 

11 

195 

300 

190 

4Q 

35 

36 

40 

B 

110 

120 

12 

12 


4  PART  HARMONY  MUSIC  SYSTEM  tor  PET 

The  Visible  Music  Monitor,  by  Frank  Levinson,  allows  you  to 
easily  enter,  display,  edit  and  play  4  part  hamiony  music. 
Includes  whole  notes  thni  64ttis  (with  dotted  and  triplets), 
tenx»  change,  key  signature,  transpose,  etc.  Tbe  KL-4M 
unit  includes  D  to  A  converter  and  amplifier  ready  to  hook  to 
your  speaker. 
KL-4M  Mule  tnii  wHt  VMM  fn%nwi  SBO 


DISK 
SPECIALS 


SCOTCH  (3M)  5"  10/245     50/235     100/230 

SCOTCH  (3M)  8"  10/260     50/245     100/240 

WE  STOCK  VERBATIM  DISKS 

Try  the  new  Verbatim  Head  Cleaner  Kits 
BASF  5"  or  8"  10/200    20/195 


Wabash  5" 
Wabash  8" 


1 0/2  00    20/t  95 
10/200    20/195 


100/1.85 

100/1,85 
100/1  85 


WE  STOCK  MAXELL  DISKS 

Diskette  Storage  Pages  10  for  3  95 


Disk  Ubrary  Cases 
Disk  Huh  Rings          8" 

8"- 
•  50  la  7.50 

285      5"  -215 
5"  -  SO  ^  6  00 

CASSETTES -A6FAPE-611  PREMIUM 

High  outpuL  low  noise.  5  screw  housings. 
C-10                                       10/.56     50/50 
C-30                                     10/.73    50/68 

100/-48 
100/.66 

SPECIALS 


ErSON  MX-tO  Prtitir 
EPSON  MX-tQ  F/T  Pilitir 
EPSOK  MI-TO  Priitv 
EPSONMI-IOaPrMir 
Centronics  739  Printer  with  dot  graphics 
STAnwniTEH  Dilsy  Wliiel  Priiiter  F1 0 
Zenith  ZVM- 121  Green  Phosphor  Monitor 
DC  Hayes  Smartmodem 
Watanabe  Intelligent  Plotter    1195 
BMC  BMI2A  Green  Phosphor  Monitor 
BMC  BMI400BLUC  13"  Color  Monitor 
BMC  RGB  1 3"  Color  Monitor 
POWERMATE  Multiple  Outlet  Power  Stnps 
ISOBAR  Isolated  and  Filtered  Outlet  Slnps 


6-Pen 


440 
540 
300 

695 
575 
1445 

119 
230 
H45 
99 
285 
329 


ALL  BOOK  Hd  SOFTWARE  PRICES  DISCOUNTED 


Synertek  Systems 


SYM-I  Mlcncomputer                   SALE  199 

SYM  BAS-1  BASIC  or  RAE  1/2  Assembler  85 

law- 2/80  Synertek  Video  and  Keyboard  349 

KTM-3/80  Synertek  Tubeiess  Temiinal  385 


TM/iWf 


data 
systems 


Z90-80  64  K 

Z90-82  54  K.  1  double  dens,  drive 

Z89-0  48K 

Z89-1  48K.  1  drive 

Z67  10  Megabyte  -I-  Floppy  Drive 

Z37  1.3  Megabyte  Dual  Floppy 

Z25  High  Speed  Printer 

Z19  Video  Terminal  (VT-52  compatiblel 

ZVM-121  Green  Phosptw  Monitor 

All  Zenith  Software  discounted 


2170 
2395 
1950 
2150 
4495 
1495 
1195 
695 
119 


ATARr 

SPECIALS 


800  Computer 
400  -  t6K 
810  Disk  Drive 
825  Printer 
850  Interface 
Inside  Atari  DOS 
Paddle  Pair 
Joystick  Pair 
16KRAM 
32K  RAM 
Pilot 

Wnle  for 


675 

330 

440 

629 

170 

18 

19 

19 

69 

99 

68 


Mcrosoft  BASIC 
MISSIU  CDMMAIID 
ASTEIOIOt 
STAI  (tIDEPS 
Space  Invaders 
Music  Composer 
MODEM  fur  Atirl 
Super  Breakout 
PAC-MAN 
CENTIPEDE 
First  Book  of  Atari 


'2 
32 
32 
37 
32 
45 
'99 
30 
36 


prices  on  other  Atari  items 


252  Bethlehem  Pike 
Colmar.  PA  18915 


215-822-7727 


A  B  Computers 


WRITE  FOR  CATALOG 

Add  S 1 .25  per  order  for  shipping.  We  pay  balance  of  U  PS  surlace 
cfiarges  on  all  prepaid  orders.  Prices  listed  are  on  cash  discount 
basis.  Regular  prices  slightly  higher  Prices  subject  to  change. 


KMMM  Pascal  for  PET/CBM 


$85 


A  subset  of  standard  Pascal  witli  extensions. 
•  Mactiine  language  Pascal  Source  Editor  wi!tj  cursor 
oriented  window  mode 

-  Machine  Language  P-Code  Compiler 

-  P-Code  to  mactiine  language  translator  for  optimiied 
object  co()e 

-  Run-time  package 

-  Floating  point  capability 

-  User  manual  and  sample  programs 

Require  32K  Please  specify  cwligoralion. 

EAflL  for  PET  (disiTfile  based)        $65 

Elltir,  AuMiWir,  Ritocitir,  Uikir 
Generates  relocatable  object  code  using  MOS  Tectinofogy 
mnemonics.  Disk  file  input  (can  edit  files  larger  Itian 
memoryj.  Links  .multiple  object  programs  as  one  memory 
load,  Ijsting  output  to  screen  or  printer.  Enfianced  editor 
operates  in  botfi  command  mode  and  cursor  oriented 
"window"  mode 

RAM/ROM 
for  PET/CBM 

4K  or  3K  bytes  of  soft  ROM  with  optional 
battery  backup. 

RAM/ROM  is  compatible  with  any  large  keyboard  machine 
Plugs  into  one  of  the  ROM  sockets  above  screen  memory  to 
give  you  switch  selected  write  protectable  RAM. 
Use  RAM/ROM  as  a  software  devetopmenl  tool  to  store  data 
Of  machine  code  beyond  the  normal  BASIC  range.  Use 
RAM/ROM  TO  LOAD  A  ROti^  image  where  you  have  possitile 
conflicts  with  more  than  one  ROM  requiring  the  same  socket- 
Possible  applications  include  machine  language  sort  (such  as 
SUPERSORT).  universal  wedge,  Extramon.  etc. 
RAM/ROM  -  -  4K  $85 

RAM/ROM --aK  120 

Battery  Backup  Option  30 

SUBSORT  by  James  Strasma  $35 

Subson  is  an  excellent  general  purpose  machine  language 
SCTt  routine  for  PET/CBM  computers.  Sorts  both  one  and  two 
dimensioned  arrays  at  lightning  speed  in  either  ascending  or 
descending  order  Other  fields  can  be  subsorted  when  a  match 
is  found,  and  fields  need  not  be  in  any  special  order.  Sort  arrays 
may  be  specified  by  name,  and  fields  are  random  length 
Allows  sorting  by  bit  to  provide  8  categories  per  byte.  The 
routine  works  with  all  PET  BASICS,  ad|usts  to  any  memory 
size,  and  can  coexist  with  other  programs  in  high  memory 

SuperGraphics  2.0 

NEW  Version  with  TURTLE  GRAPHICS 

SuperGraphics,  by  John  Fluharty,  provides  a  4k  machine 
language  extension  which  adds  35  full  featured  commands  lo 
Commodore  BASIC  lo  allow  fast  and  easy  plotting  and 
manipulation  of  graphics  on  the  PET/CBM  video  display,  as 
well  as  SOUND  Commands.  Animations  which  previously 
were  too  slow  or  impossible  without  machine  language 
subroutines  now  can  be  programmed  directly  in  BASIC  Move 
blocks  for  focketships.  etc.).  or  entire  areas  of  the  screen  with  a 
single,  easy  to  use  BASIC  command  Scroll  any  portion  of  the 
screen  up.  down.  left,  or  nght.  Turn  on  ot  oft  any  of  the  4000 
18000  on  8032)  screen  pixels  with  a  single  BASIC  conmand 
I  n  high  resolution  mode,  draw  vertical,  horizontal,  and  diagonal 
lines.  Draw  a  box.  fill  a  box.  and  move  il  around  on  the  screen 
with  easy  to  use  BASIC  commands.  Plot  ounces  using  either 
rectangul  ar  or  polar  co-ordinates  (great  for  Algebra,  Geornetry 
and  Trig  classes.! 

Tbe  S  0  U  N  D  commands  allow  you  to  initiate  a  note  or  series 
ot  notes  (or  even  several  songs)  fiom  BASIC,  and  then  play 
(hem  in  the  background  mode  without  interfenng  with  your 
BAS 10  program.  This  allows  your  program  to  njn  at  full  speed 
with  simultaneous  graphics  and  music. 

Seven  new  TURTLE  commands  open  up  a  whole  new 
dimension  m  graphics.  Place  the  TURTLE  anywhere  on  the 
screen,  set  his  DIRECTION,  turn  him  LEFT  or  RIGHT,  move 
him  FORWARD,  raise  or  lower  his  plotting  pen,  even  flip  the 
pen  over  to  erase  Turtle  commands  use  angles  measured  in 
degrees,  not  radians,  so  even  elementary  school  children  can 
create  fantastic  graphic  displays. 
Specify  machine  model  (and  size).  ROM  type  (BASIC  3  or  4) 
SuperGraphics  (disk  or  tape)  S  40 

SuperGraphics  in  ROM  55 

Volume  discounts  available  on  ROM  version  (or  schools. 


fir  PET/CIM  CiMpftirt 


Self  Caiculaiing 

DATA  BASE 

HEPORT  WRITER 
MAILING  LIST 


FLEX-FILE  IS  a  set  of  flexible,  friendly  programs  to  allow 
you  to  set  up  and  maintain  a  data  base  Print  files  with  a 
versatile  Report  Writer  or  a  Mail  Label  routine  Pro- 
grammers will  find  il  easy  to  add  subroutines  lo  their  (wn 
programs  to  make  use  of  Data  8ase  files. 
RANDOM  ACCESS  DATA  BASE 
Record  size  limit  is  250  characters.  Tlie  number  o(  records 
per  disk  is  limited  only  by  the  size  of  each  record  and  tfw 
number  of  records  per  disk  is  limited  only  by  the  size  of  each 
record  and  the  amount  of  free  space  on  the  disk  File 
maintenance  lets  you  step  forward  or  backward  through  a 
file.  add.  delete,  or  change  a  record,  go  lo  a  numbered 
record,  or  find  a  record  by  specified  field  The  Find  command 
locates  any  record  when  you  enter  all  (or  a  ponioo  of)  the 
desired  key  Field  lengths  may  vary  from  record  to  record  to 
allow  maximum  packit)9  of  information  Files  may  be  sorted 
by  any  field,  and  any  field  may  be  specified  as  a  key. 
Sequential  files  from  other  programs  may  be  converled  (o 
Flex- File  formal,  and  Flex- File  records  may  be  converted  to 
sequential  (WordPro.  PafierMate,  other  word  processors 
may  also  use  Flex-File  data).  Maximum  record  size,  fields 
per  record,  and  order  of  fields  may  be  changed  at  any  time. 
MAILING  LABELS 

With  typical  record  size  of  127  characters,  each  disk  can 
handle  over  1 000  records  (about  2800  with  8050  drive). 
Labels  may  be  printed  any  number  wide,  and  may  begin  in 
any  column  position.  Tliere  is  no  limit  on  the  number  or  order 
of  fields  on  a  label,  and  two  or  three  fields  may  be  joined 
together  on  one  line  (like  first  name,  last  name,  and  title).  A 
"type  of  customer'  fieid  a))ows  se)ective  printing. 
REPORT  WHITER 

Print  any  field  in  any  column.  For  numeric  fields,  use 
decimal  point  justification  (and  round  to  any  accuracy). 
Define  any  column  as  a  series  of  mathematical  functions 
pefformed  on  olher  columns.  These  functions  include 
arithmetic  operations  and  vanous  log  and  trig  functions. 
Pass  results  of  operations  such  as  njnning  total  from  row  to 
row  At  the  end  of  the  report,  print  total  and/or  average  for 
any  column  Complete  record  selection,  including  field 
within  range,  pattern  match,  and  logical  functions  can  be 
specified  individually  or  in  combination  with  other 
parameters 

FIEX-FILE  BY  Michiel  Riley  S80 

Please  specify  equipment  configuration  when  ordering 


COLOR  CHART  ColOf  video  Board  $125 
Up  to  8  colors  and  high  resolution  graphics  ( f  28  x  192  in  2 
colors)  Generates  composite  video  tor  use  with  monitor 


PEDISK  II  from  cgrs  Microtech 

5"  40  track.  1  drive,  143K  S525 

5"  40  track,  1  drive,  286  K  690 

8'  IBM  3740  formal  77  track.  250K  995 


PROGRAM  YOUR  OWN  EPROMS 

Bfnidlag  Inn  f«r  PET/CBM  S79 

EPROM  Programmer  with  software  for  all  ROM  versions 
Includes  all  hardware  and  software  to  program  or  copy 
2716  and  2532  EPROMs 

PORTMAKEn  DUAL  n$Z32  SERIAL  PORT  G3 

Two  ports  with  lull  bipolar  RS232  bulteimg  Baud  rates  from 
300  to  4800  For  PET.iCBM.  AIM,  SYM 


cm  Sittnn 

Legal  Time  Accounting  Package 
Medical  Accounting  Package 
Dow  Jones  Portfolk)  Management 
Personal  Tax  Calculator 
Wordcratt  80  Wordprocessor  Package 
Pascal  Development  Package 
Assembler  DevetopfBo'  Package 
Intelligem  Temiinal  Emulator 
Soflpac-1  (Competitive  Software) 


445 

129 
65 
325 
235 
99 
30 
29 


FORTH  for  PET 

BY  L  C.  Cargile  and  Michael  Riley  $50 

Features  include; 

full  FIG  FORTH  model, 

all  FORTH  79  STANDARD  extensions. 

stmctured  6502  Assembler  with  nested  decision  making 
macros- 

full  screen  editing  (same  as  when  programming  in 
BASIC). 

auto  repeat  key. 

sample  programs 

standard  size  screens  (1 6  lines  by  64  characters). 

1 50  screens  per  diskette  on  4040, 480  screens  on  8050. 

ability  to  read  ar^l  whte  BASIC  sequential  files. 

introductory  manual. 

reference  manual 
Runs  on  any  16K  or  32K  PET/CBM  (including  8032)  with 
ROM  3  or  4.  and  CBM  disk  drive.  Please  specify  configuration 
when  ordering 

Available  soon. 

Metacompiler  for  FORTH  $30 

simple  metacompiler  for  creating  compacted  object  code 
which  can  be  executed  independently  [without  the  FORTH 
system). 


PaperMste 

60  COMMAND 

WORD 
PROCESSOR 

by  Michael  Riley 


ftB  a^ 


Paper-M  ale  is  a  full-featured  word  processor  for  C  B  M/PET. 
Paper-Mate  incorporates  60  commands  lo  give  you  full 
screen  editing  with  graphics  for  all  f6K  or  32K  machines 
(including  8032),  all  printers,  and  disk  or  tape  drives 

For  writing  text.  Paper- Mate  has  a  definable  keyboard  so 
you  can  use  either  Business  or  Graphics  machines.  Shift 
lock  on  letters  only,  or  use  keyboard  shift  lock  All  keys 
repeal 

Paper-Mate  text  editing  includes  floating  cursor,  scroll  up 
or  down,  page  forward  or  bacK  and  repeating  insert  and 
delete  keys.  Text  block  handling  includes  transfer,  delete, 
append,  save,  load,  and  insert 

All  formatting  commands  are  imbedded  in  text  for 
complete  control.  Commands  include  margin  control  and 
release,  column  adjust.  9  tab  settings,  variable  line  spacing, 
lustify  text,  center  text,  and  auto  print  form  letter  (variable 
block).  Files  can  be  linked  so  that  one  command  prints  an 
entire  manuscript  Auto  page,  page  fieaders,  page  numbers, 
pause  at  end  of  page,  and  hyphenation  pauses  are  included 

Unlike  most  word  processors,  CBM  graphics  as  well  as 
text  can  be  used  Paper-Mate  can  send  any  ASCII  code 
over  any  secondary  address  lo  any  printef. 

Paper-Mate  (unctions  with  16/32K  CBM/PET  machines, 
with  any  printer,  and  with  either  cassette  or  disk. 

To  order  Paper- Mate,  please  specify  configuration, 
Pipii'Miti  on  dlik  or  tapi  40.00 

BAWiNTERPRETER      '$200 

Designed  to  support  the  CBM  8096  (8032  with  add-on  54K 
board)  A  fui  I  interpreter  implementation  to  automatically  lake 
ad/antage  of  the  extra  memory  available  lo  the  8032. 


BriGninlLid|«r-8D3Z/aOSIl 
BPI  AttMiiti  Hicilnble  -  8D32/e050 
BPI  Invintsry-  B03Z/e050 
BPI  Job  CDltitig 
BPI  Piymll 


300 

JOB 
300 
300 
300 


JINSAM  Data  Base  Management  System 
far  CBM.  Comprehensive  version  available  for  most 
configurations. 

Hilldii  Sottnn 

Complex  Mathematics  12.70 

Engineering  Mathematics  12.70 

General  Mathemalics  12.70 

MCAP:Circuit  Analysis  Program  21.00 

Energy  Miser  24.50 

CASHITaMAGEMENT  system  S45 

Easy  to  use  Keeps  Irack  of  cash  disbursements,  cash 
receipts,  cash  transfers,  expenses  lor  up  to  50  categories. 


252  Bethlehem  Pike 
Colmar,  PA  18915 


21 5-822-7727 


A  B  Comiiuters 


WnrTE  FOR  CATALOG 

Add  $1 .25  per  ofder  for  shipping.  We  pay  balance  of  UPS  suriace 
charges  on  all  prepaid  orders.  Prices  listed  are  on  cash  discount 
basis.  Regular  prices  slightly  higher.  Prices  subject  to  change. 


at 


COMPUTEI 


July.  1982,  Issue  26 


Test  RAM 

For  Bad  Bits, 

Nondestructively 


Leo  J.  Scanlon 
Inverness,  FL 


In  a  recent  article  in  this  magazine  (COMPUTi!, 
April,  1981  #23)  I  presented  a  6502  assembly 
language  program  that  tests  the  integrity  of  a 
selected  portion  of  RAM.  That  program  was  de- 
signed to  detect  "dead"  bits  or  bytes,  pattern  sensi- 
tivity, crosstalk,  and  a  variety  of  other  error  condi- 
tions. It  could  also  be  used  to  detect  soft  errors,  in 
which  the  memory  accepts  the  test  data,  but  reverts 
back  to  its  previous  state  after  some  period  of  time. 

As  useful  as  it  is,  that  program  has  one  possible 
shortcoming:  it  clobbers  the  contents  of  the  portion 
of  memory  being  tested.  Clearly,  that  doesn't  matter 
if  you  are  just  verifying  a  newly  installed  memory 
board,  but  is  unacceptable  if  a  program  or  some 
data  is  sitting  within  the  test  area.  In  this  article,  I 
present  another  kind  of  program.  i)ne  chat  per- 
forms a  nondcslrucfme  test  on  RAM  memory.  That 
is,  a  program  that  alters  memory,  but  subsequently 
restores  all  locations  to  their  previous  (pre- 
test) values. 

The  Test  Algorithm 

Essentiallv,  the  lest  program  described  here  vali- 
dates RAM  by  comparing  the  actual  contents  of 
memory  to  the  known  data  that  should  be  contained 
within  it.  To  make  this  comparison,  (be  program 
uses  a  method  that  is  often  employed  for  testing 
punched  paper  tape  and  read  only  memories 
(ROMs)  —  the  clu'cksum.  A  checksimi  is  that  value 
produced  by  taking  the  exclusive-OR  of  all  bytes  in 
test  memory  (see  box). 

Briefly,  here  is  the  sequence  of  operations  for 
the  test  program: 

1 .  Calculate  a  checksum  value  for  the  entire 
range  of  test  memory,  by  exclusive-ORing 
all  bytes, 

2.  Invert  the  stale  of  the  ftrst  bit  in  test  memory 
—  Bit  7  of  the  "start"  location  —  but  leave  all 
other  bits  unchanged. 

3.  Calculate  a  new  checksum  value, 

4.  Invert  the  state  of  the  altered  bit  position  in 
the  new  checksum. 

5.  Compare  the  new  (altered)  checksum  with 


the  initial  checksum. 

6.  The  result  of  this  comparison  can  cause 

either  of  two  things  to  take  place: 

If  the  checksums  are  different,  the  program 
jumps  to  an  error  routine,  to  print  out  the 
bit  position  and  address  of  the  bad  bit. 

If  the  checksums  are  identical,  the  program 
restores  the  state  of  the  test  bit  —  by  rein- 
verting  it  —  then  branches  back  to  Step  2,  to 
test  the  next  bit  (Bit  6  of  the  "start"  location). 

This  process  continues  until  all  bits  have  been 
tested,  or  until  a  mismatch  is  detected. 

Will  this  nondestructive  test  program  catch  all 
of  the  fault  conditions  that  can  be  delected  by  the 
previously  published  destructive  test  program? 
Probably  not  all  of  them.  The  nondestructive  test 
program  will  nf)t  detect  pattern  sensitivity  or  soft 
errors  (unless  you  modify  the  program  to  include  a 
lime  delay),  but  it  should  be  able  to  detect  most 
other  types  of  errors. 

Program  Flowchart 

Now  that  you  understand  what  the  test  program 
must  do,  and  know  hoxv  the  program  will  do  it,  it's 
time  to  look  at  the  structure  of  the  program  itself. 
This  program  is  comprised  of  three  parts:  a  main 
program  loop,  a  checksum  calculating  subroutine 
and  an  error  printout  routine. 

A  flowchart  for  the  main  program  loop  is 
shown  in  Figure  1 .  As  you  can  see,  this  flowchart  is 
nothing  more  than  a  detailed  version  of  the  algo- 
rithm we  defined  in  preceding  Steps  I  through  6. 
The  program  begins  by  calculating  the  byte  coimt, 
then  calls  the  checksum  subroutine  (CHKSUM)  to 
generate  the  initial  value  of  the  checksum.  This 
done,  the  base  address  and  byte  index  are  initialized 
to  reference  the  first  byte  in  lest  memory. 

Next,  the  bit  mask  index  is  initialized  to  refer- 
ence the  most  significant  bit.  Bit  7.  With  (his  initial- 
ization out  of  the  way,  the  program  inveits  the 
current  test  bit.  The  first  time  through  the  loop, 
this  will  be  Bit  7  of  the  Start  location.  Now  the 


Figure  1:  Nondestructive  Memory  Test  Program 


(            Start             j 

1 

Byte  count  =  End  address - 
Start  addre^K  +   1 

1 

CHKSUM 

(Calculate  initial 
checksum) 

\ 

■ 

Base  address  =  Start  address 

It's  hard  to  picture 

all  of  DYNACOMP's  software 


GIN  RUMMY 


SHAPE  MAGICIAN 


CHF.SSMASTER 


BLACK  HOLE 


MIDWAY 


'p^^^m^^' 


FOURIER  ANALYZER 


RINGSOFTHE  EMPIRE 


LEM  LANDER 


STOCKAID 


HODGE  PODGE 


'%:f'.'-':  ::'■:'::: 


FOREST  FIRE 


OUINTOMINOES 


STARBASE3  2 


GO  FISH 


CHECKERS  3  0 


HODGE  PODGE 


TRIPLE  BLOCKARD 


CHOMPELO 


TEACHERS  AIDE 


SPACE  TRAP 


STOCK  MASTER 
STOCK  PLOT 


BACCARAT 


SUPER  SUB  CHASE 


MAIL  MASTER 


VALDEZ(MAP| 


STOCK  MASTER 
STOCK  PLOT 


851 


GIN  RUMMY 


SPACE  LANES 


ESCAPE  FROM 
VOLANTIUM 


BREAKUP 


INTRUDER  ALERT 


PERSONAL  FINANCE 
SYSTEM 


CRYSTALS 


(C)  1982  PROMEDIA  ASSOCIATES 


TURN  TO  NEXT  PAGE.. 


is 


z 


z 

u 
z 


z 


Z 


z 


DYNACOMP 


*. 


Quality  software  for*: 

APPLE  II  Plus  ALTAIR**** 

OSBORNE-1 

NORTH  STAR*** 

ATARI 

PET/CBM 


NEC  PC-8000 
TRS-80  (Level  II)** 
SUPERBRAIN***** 
CP/M  Disks/Diskettes 

/See  Availabilily  bo;(\ 
VMBASlC/CBASrC/ 


CARD  GAMES 


BREDGI:  MASTI^R  (Avillabk  rormll  corapuKril  Pilce:S;i.93  Ditkrttf 

Hf"  ■'I'm  nVMA'ri:)MI"Pi  BHIDOE  :  D.  vuu  ^iIlahwIuKlv  lev<BKI[>GE  MASTER.  BRrDCf  MASTER  li  a ccmprihtn 
^i>c  ^^dft  pcvftun  i3ni|n(il  ID  pfD^iCc  Kauri  Dr>[hAlJcii|]a|compciuI<iii.  Eb^uti  (uturci  inclLidt  ch«  BUtli'KiMtl  tanvtii' 
II1M1.  SiJ)rm«n  confcmiah.  p[(-c[r[>tivt  a[KDin|i,  uid  (ic»|niEii>n  tti  CenuAd  bidi  tAd  ijmp'thifi  itifctita  Aficf  [iLipni  ■ 
ipKlfif  hj.ri*l.  ]rIlU  rui  l«plJ:i  ttu  umrh.trtd,  nlth  ihropUOi  df  iwiCttuDg  tlidiiariiri  j'cni  tonipjtrr  (■ppanmti,  thi).fulmc 

illOBi  )dL  Id  tDRigucr  tour  TideIeIiri  fnd  pii^iri  itm  'o  BKIPCE  M<\STtR,  Bonu»«t  f«r  tunc  nniTwu  &MI  lUrru  art 
■•vd<4  *t  in  dijplicaie  hxlft.  Doubled  ctinrKii  uc  inn'-cd  tnxd  upon  ii  nnuTuirr  luifOEd  ^Mincubilit) .  A  icatc  cud  u 
dnptaccd  ai  the  coitcluirchr  of  cKh  hkiid.  The  teat  cud  dapLi]!!  ■  laiinrcujy  of  loul  CuAdi  pli)^,  i&ul  pciiiii  uored, 
rLontwi  cf  iMQtricli  ITL*lt  4.Rd  iti.  t^   ^   bid),  mtde.   BRlDCf  VtASTEB  h  Ciocl)  ihr  Iml  [onputri  tnidp  piiijrun 

DVNA'COMF*'?i  ptttmnf  flltnX}E  ID  iuti.iimm  mt^  cpiradc  ia  akltx^t  MA^Tf  K  Icn  i  nwniatt  chuir  cF  13  W  plui 
poilMtc  and  handlinf  Iw  aTdtiinf.  inTiitm«!^*>  [i(M> 

BACCARAT  (AMii  onlyH  Price  SLB.9S  C»scllc/S22.4j  DliJkcdf 

TKii  *i lis*  Euii>pMn  (wd  liKnt  wMtIn  B  ibr  rifonii  of  ttw  Modr  Cwka ict  Ki.  Inumc  wwicif  •!  ibr  cvnuu  Mbk  wth OCT 
loyoiii  kli  ■nd(jaUrinitr  Lortmr  rifhj:  |  f«rn  cod  pli>  BACCADAT  k  row  icsutc  anihr  Atui  ConuiflnruUhLihinolu- 
Iwn  C¥>l«r  Kipftci  i»d  miidiini  Mund    Ruru  in  lAK.  KcquirEi  one  jojiiui 


Pnce:  S22.9i  OiikrtH 
at  CIS  RUMMY  cuuag.  The  i::a<EputD'  pji.j'i  >a£cpiii£U'iAll>  •mcl\^  ud  iht 


QIN  RUMMY  (Appk  diiketic  onlv) 

IJki.  [1  "bf  bTM  macro  cionmnn  mtpkeicnij:)! 
HIFE^triplivi  (It  i4fptr&   Wtui  cIk  m  be  lud? 

POKER  PARTY  ( Av«il«bte  Tor  all  rampuifffl  pri«;   *19,«5  CiH(IIe;$33.93  Diikdlc 

POKES  PARTY  atiidci^  pain  lun^iion  bued  in  thf  twA.  POXER.b)  Ot-tld  Jacobi.  ThiiatSMiridti  lanpnAmiir 
wiiMia<tiUt4t  Tm  RMi»A^MBt>uteti   fta  p«/ir  nnunti  pf  iDurK^raod  iti  piiwt  (enniM4cT)ptanT»  E«.iiorir»ncr4im» 

()mu  «lU  Id  Id  knm  Ibrml  rui  ■  diTtnrnl  imHMuliI}  m  <V  l^rm  et  ♦  varTirf  rrPTmta'F  W  bhifl  M  toid  uttirt  pmnn 
PrKTKf  '■uh  POKER  PAKTV  MIcx  tmni;  r?  thM  npenu^c  pirc  loiuihi^  Apple  uurtie  iwd  diilcric  •eittani  rt^mrt  > 
T2  K  [or  blfTT]!  Anh  M 


Price:  S14.9S  Ciii<(EC'SI&.95  DkkMie 
•  frkMSI}  conpuirr  ^nh  um  inpuii  ihii  ue  umpb  nwufti  fa 
'nopio;  bifJ]  [EwJicioniri.phict'rwilMdriEUjiO'rKutdi  Amuti 


CO  FISH  |A«ii1ablc  for  ill  coRiFWIcn) 

fiO  F15M  n  i  «i«»M«  <|!(W'm'i.  did  mtp*  TV  vppcntnt  i 
HiuRcfcildm  loan}?  mutfT-  rbr  Apptrmd  Aun  wwa 
fa  ctuiittc''  Runt  m  lAK 

BLACKJACK  COACH  aZK  THS-M  onlyh  Price:  S29.9S  C«lt«llc/SJ3.»  DiAtUe 

BLACKMCK  (.'QACH  rt  boih  AJtDUiad  An«daC«i««*IC0Ol.  Wilhlhb  progt>Jh  ii^umar  qiuAUtlliirlr  l«l  ilandud  and 
tpK-kftl  ^yiAl  Uld  bCllin|.in(tNsdi.  includinl  [he  imni  cUdannl  icfifinn.  Y.wi  £)ui  iiHnpl)  plar.  pUy  ■■■ih  rh*  C0fnp<,fln  W 
■  «Da<h.  DC  iittKiKtllT  ifil  TBur  nmhod  nfiihr  kHif  run  ■niomaiic  p1*y  All  ihc  KUdmj-d  pl<rrr  cbDK«  irr  uKluOcd:  in- 
luiKKT.  ipliiiini  piiii.  double  dosiiit  ind  turreiHhi  (opuoniJl  The  conipiiEei  uttl^ni  ih(  iK^inHjut  utd  pfCiaWt  d^uiltil 
lumnuiry  ftpodi  wlikh  lUtntKlU)'  p<rpiMm  lh«  i{r(fi|El:it  and  i>C*.kmni«i  oS  yimt  pitj  tkrti.'\  tjil  fcui  nisnry  il  Ihr  la^ln 
uncgl  »tHl  Kt<«  {ilkiiitd  «it»  BLACKJA'flr:  COAL'H' 


THOUGHT  PROVOKERS 

MAN  AGF.MENT  SIMULATOR  |Av»libl«  far  all  compulersl  Price:  S25.95  Cuiclie 

S39.95  Diikcllc 

TT^it  piBflttn  it  hclh  ah  ^udknl  'lUchihi  IdoI  u  well  u  ■  dimulilJni  inlcJJnlu^i  larnc   ^tntn^pqn  iJTniWxunti  pUft^  «■ 

fri<1ii4tr  buiLn.ni  M:>iufiii,  rKhpiaref^ntimconltolimmpcrtTx'hii:}!  manuliciuimi  ihire  ptodLru.  ttchpliyn  iiLccrpii 
in  □tiiptrtocTn  hii  conpditifri  by  miin|  Kllini.  pricxi.  pcwJkKiior  voltimn.  mirieEini  ud  dcik(n  tapendiiijiei  ric  The  moit 
ikKctutjl  Utai  il  ikt  (Hit  laKh  the  ItlflMti  HCKli  ptiM  vlun  ittt  lumuUiioD  tfidi 

PLIGHT  SIMULATOR'(A<'AiiBblef«'KlUaniput«rs|  Price:  S19.9S  Cuiciuj'llh<>5  Diiktiic 

A  (uLuK  ind  citciiinT  mBthemuici]  usijlwanoC  uke-off.  Elifbt  uid  lindui|.  The  ptnt^un  utkUici  HTDdjinjiniic  r^uiEioni 
Jind  iltf -chutciettiEicii  or  ■  r««t  titttal  You  cia  pradice  iniiniffleni  tpprouh«i  and  lutttuioB.  uiMf  lUudL  kAd  conpati 

hradiFifi   Jtif  svorv  vd^vKfd  ll>-rr  (vn  i&tKi  prtf onn  loapi.  hair-rob  uuEuErvkiir  ^DO^wEsf  TnAOfuvfn.  Aflhovih  Ihil  pioflivi^ 

doniKiirniptoy  cwfi*».  n  ue*citini  Mdwrrywhtkuvt,  S«ih<  tori«»ff  rfw*  ioCOMPLTROMCS  Kimi  m  l«(  Awn 

VALDEZ  (Av*iUbk  for  «II  wfiipuimt  Priet  S]7.fl5  C«trtwS2L9J  Diikelle 

VaLDE?  ji  i  i:orrir>uir>  i^njUiiahofiupn-EtAkti  uii^Miutid  ibc  P^A:r'4diiunSdiibd''\ud«j  Nuioiat  i<tiMi  df  aUu* 

|n(lvdeJ  in  thu  iimilLalHn  n  •  ic^M>[  4n4  mcnun  J5*  ■  iM  rioac"'  nup.  portKiin  pf  »hi(:li  nuf  hf  iimd  uiuii;  E&e 
Aip'i  ilplwiuinttK  r*6ti  d;)rli>  P'lt  moihon  or  Ehc  ifnj:  FUrir 3» ccmiicJ>  nwdtLlcd  emibemukil;).  Thr  hhiuImwi;  tlKi 
Ecnujni  4  nodd  Ich  ihc  lidkl  Wll"''!'  ^e.  llK  rtpon.  ii  ^cD  u  c4l»rlrafrK  Iouliom|.tuikeri  ind  diltiii|  Kcbei|i|.  CtiAn 

TOul  touttt  lEMtl  rh«  I'lult  of  AUliki  IC  Vktdtf  UttMlP  SMTM  l^riWt  leiMst  IG  KIScflvUe  CiITk^M  4Ad  PtftOAtl  CiMI- 
ptttini 

BACKGAMMON  2.0  ( A^iilibk  fvr  til 'Compuiert)  Prjcc:St9.9J  CuulU/l2i.9J  DItkciic 

Thu  pr.»vun  Inli  iidui  b«:t.,|BninHH  ikilji  kad  hJI  *^  lAftfrvt  jOkI  fUM    A  hiiflUJ  Cia  COOpCU  ICliUI  1  COnpuUT  01 

■furttt  Uh«hR  iii'unun  n>ccDEnpiKet  ctne^cn  ptif  uuoir  iiidf.  EnvrThthwrwacr  fltrwBipwtn'cwite'iM' w  tcnWc 
'die* rob.  Baud  poiktiont  cxn  be  ciuinlar  uvnl for  rrpfa.^.  BAClLCAMMOr^I.DpUpiBaanauce'mia  ihtDlTKuliiiln 
at  bteifusoidA  tAd  It  iiiT«  lo  proiid<  otof  fi^uiiuikm  teuou  af  t»f fcuminon  pUy 

CHESS  MASTER  (Nonh  Sim  »Bd  TRS-M  oniyV  Pri«:S19.9!  C«*MneyS2i.9!  Diskette 

Thii  temgitu  wtd  i^y  poa-eiTiJ  pcocrun  ^rohidei  Hoeindi  ofpUj.  It  ind'jdia  cxitfnf.  en  puioai  opium  cud^  ihe  pmmo- 
EiMi»fjMBAi  AdddiOfudiT,  EMbcudirur  b<pfH4t  ^Cfeih«  tUJi  of  pby.poininiiailArrumuiuionof ''book"  pli^  Je 
■nuimur  rit<;^lionLp«d.  Ihrtvocruii  »  «ii1lni  id uwinbtr  tan|UH«E  Ibf  MHIWaRE  SPECIALISTS  dt  CliltOfMI)  FuU 
ITI-P^iiCI  41?  trntX^TrO  in  ll^e  TR^-iiQ  \^\aini,  and  l*Q  iridlhi  of  afphununtnic  dapEa^  -arv  pra>-Hlcd  le  acicDtaniadalc  Noflli 
SEU  lllttii    S*#  Ittttm   III  iMlCAfflpwILI^I 

FOREST  FIHEI  1  Auri  «ilyl  Price:  SI  4.95  Ciiuih;SI  I.9S  DHk«tEe 

Uunteicelkni  iripliKi  and  KFuad'CfTKit.  ihu  timkiliiMMi  plul^  rov  « ibe  mtddir '?f  4  fctru  fat  Y<nir  lofa  m  |i  dicrtiorwrj- 
ijMti'to  put  otii  the  fire  whiic  eonpeuiuni  Far  ehisfaui  '^lod.  *"CidiE7  lod  tririin.  titst  ptEXfciint^kluiblt  iituciuiii  cir 
■null  IB  darilini  prAalim  LiE«4ik,r  vi^ikblei Unprovided  10  nviteFOEirST  FIRE''  ver>  luipeauful  kcd  etiiIltni,iA|,  Soi»d 
|«nci  k*vt  iHr  Hunr  lerimj  and  Ihcie  air  J  Icrcb  of  dif  Fcuh). 

BLACK  HOLE  (Apple  onlj^>  Price:  512.95  CjMcttc/Si9.95  Diikclie 

t^ii  It  (n  ciciEini  iiiphical  iira^UEion  efilitpitibkiAi  ioiolied  inclouly  otiurv1n(i.Uacl:  tiok'feiihaipKepiDbe-  TVob- 
fKi  iiEOfflin  tnJfliataiaffl.roraprambeiUfrw,  ancrWciosemanraJtbiMkliDt  Ttmu  mb«  iEhi*>(d>iihciuiMfflin.| 
to  nru  the  Rnocniljf  that  the  ildal  itrcu  deiiiori  the  probe,  CcrUoE  oI  ihe  erit\  n  iFaliNii:«IET  irmuiaini  uiina  luie  ]fu  foi 
iiMaiHH  andiTTiui^.ihfuiitr'i  Im  aMtkitikm   Thittirotiain  cmploi'iKi-Ilciirtphkiiiid  ii  cdueitianataiitfll  arctialkTiimf 

SPACE  FVACUATIONI  (Available  fpr  all  compuiin)  Price:  513.95  CMSClte/I]i.9S  Diikcttt 

Cm  >oiicDlonur  ihrialur  ind  rruiuie  \ht  Euih  bttatrtht  umtv-p\9^''  Yqu' (wnpiilf  bnvirwt  ihr  Lhip'tCampuEei  ai 
you  ritiatt  lUt  liMttttt  10  itiiKkK  millioriii'dt  pcoplr.  Ttiii  liunuUiian  ll  panKululy  imereiii^isii  iviicwnbirhn  mutt  oMhr 
f  itilkrii  «kq>eri>  ni  'cluiu  ipacr  lamii  wiih  ihr  mytijiy  entllentt  or  ADVENTURf. 

MONARCH  lAlifl  Oftly>  Pri«;  S1J.9J  C*iMiie/Sia.95  Dlikeite 

'WtiNAftCH  n  a  fUciMIiill;  ecOAOtTiic  imiLiLuion  le^Luni^  yau  to  lurvjic  tn  S-jrCU  IfTITV**  VOW  naiioo'i  igaiiri  You  drier 
muwihi;  amount  al  kCTEatr  dotted  1^  lOdutij'iiland  tjrkcullunl  ok.  bow  mtKfa  feiod  EO  diiu-ibiiEt  te  ih<  po^ian anf  li-v* 
matt  iJiDuWibe  tpmtonpollkitiomntrot.  Vciuiii^M  Findihat^dcciuMU  mt'-aKtieompiaEiiuruid  thitit  i>noteu>iiaina):r 
ctiOYOM  hippy.  Rum  1(1  IfrK  Ann 


CHOMPELO  lAuridnlyl 

(llflWptl  O  iiT<»lli  rnochallmiiiiiiuTin 
in|  the  poiwnrd  p<?rEicfi  Itvrothr  fjinr  »  i 
jnil  11  laid  Id  SriE    ftini  ptLkaft  '•dl  iLn  or 


Price:  514.95  Caiietic;SI8;.95  Ditkcnc 
Id  NIM:  fOi  muii  bite  off  pui  of  ■  cookw,  bui  ivaMI  tik- 
ir  KEVEttSI    h  fullT  ui«t  ihi  Ala^'1'l  tliphkCI  upibtLt)', 


AVAILABILITY 


DVNAC^HrtP  vJi*ttt  H  'll^p^^(J  wKh  ocn^eie  documcnKKTi  dxninni  do:  npJanalKnt  and  eiK^i^ilFt  L'nleu  fcho'var 

qKcdW.  aS  prDfrarna  wil  ran  wKhf  16k  'prTjpvn  rrenq*r  >i»^  iATaRI  ^tqintn.  24K)  Eec^  wtien  nood.  pntpviti  ve 

iv».UWfnrATATll,PET,TTlS»(L^dIlL>reCafldApptafAppksDflic»sKnrind4iiriirat»dla«Ncr^ 

EckAMcikf«ii}i>aTif>UbtalA:ikrBE  AiicroaP^.rnwi  c*^)(r»Tti  i;fcn  be  i**a=>nl™  ManiardllBAI  ^'-iQkiAitf  dtmrty.  JmiHe 

,knMl)cnTV«4^K»mai|]t^CP'MtVn>f,il»iifr«i,,u«minjnibni<^r^ 

Kealh>'ZeMhHdiiur>cElwni  ^'^    CP  M  tJakfrtaije  «^a:labkfi^ESe  ^Q^0!iSl«^,5«fmflrllrtlAJO4^wm*ClWl(^lUTTiltc^nl 


■ATAttlHtiCit*.  NOtttHSTAH.  CfM.  MM  OSHOHNE.S^JPtHBHAJ.v.  NEC  FC-WSH^XtltOI  ■«  .rfairr.- 

"iliffpr  vAf 'r  •XHTiTd.  «"  JH^^"  Mnirr  J  u^vr  4a  omUa^lrani^aawDri'iHil^J^.f  eA*  TRS-aOMadd  U^  EinrplW' 
ClUBMCt,  G«AFrX,  CHESiMASrtfl.  rHS-»a  Ji«kfneifl«t!«iiip»B*d*>l»iell*fT|XXSiM-ffASrC 

""Fbt  AJiaii  ivMtfn*  fwvi*^  Ntcri>H/r  B45'C 


DYNACOMP  OFFERS  THE  FOLLOWING 


•  Widest  variety 

•  Guaranteed  quality 
>  Fastest  delivery 


•  Friendly  service 

•  Free  catalog 

•  Toll  free  order  phone 


AND  MORE. 


5TARBASE  1.2  (Aviilabk  TiJt  ■!!  c«>nqHlcn)  Price:  St3,9S  Cut4llt>SI  7.9J  Diikcne 

T%itiEneflatiK^>acciBmului[T>.i!ui>«hinFraincii'fr*tu7ri  Foreniunple.UieCitrtlniniwthnr^Mthr  ln>n:iblc»ii:tKiiji 
ovnnf  while  iboiiuelirtiiUTbuciiiioiiicrquKlrKna  T>ieCfoyhr[ialwana.Hi'aiiiitir>ih1i|>ii  mdhrxvy  trunenandmnc 
■fVn  ihra  «l^T^e^Kuabeq  a  hnbcwhen  (hi  Invtndbh u taucpd b^'  chfrc  texvy  ctuiun  md  i  iiUrtiue  SUS  aiiueittir 
The  Crojtim  ne!  e>tal  Stt  ihe  wrrurai^  (cvif-^  in  A  N.A  LO  G  ,  SO  SnAf-trr  Critufve  4nd  Genif  MfTditrninffi* 

LIL'  MEN  FROM  MARS  (AUri  only)  Price;  519,93  C«h«M/S2].95  Diiktdt 

EtfTrnd  rf'trKW  nt  lutk  men  tcooi  Mm  ■naiit  to  fct  you  if  you  doei'E  let  Lhcm  Tltm.  Thii  ii  t  tidttasvt  Mtti  leidkiiLon 
animaied  tikolici  [iicidel  fame  -wkicii  ciBOta  reuch  ot  ihe  Aluri  power.  Rt^uiret 404'  frjiikk. 


SPACE  TILT  (Apple  and  AlRrt  only) 

U«<  |he  ■un4p«ddln  to  nti  ihc  plane  crihcTVKmn  to  ^'i 
hole  I'm  iDulln  and  unallci!  A  biihlt'in  Iimec  aUcnt  you  i 


Price:  SL4,95CaiMtie/SI«.93  Dlikette 
ib<lliiiioahal(in{h*Kf«tr).Soundilm;ik1Ni>i  wKmih* 

rkiurr  four  ikiLt  ajaintl  othtri  Ir  I'll*  hubii.foTTrlni  iicHor 


ESCAPE  FROM  VOLANTtUM  (Aiari  only)  Price:  SIJ.9S  CaMe«c/il<».9S  niikelle 

Ilnn(!hcMiinn  and  etciiimentnf  in  ucadeiieo your  ham*  srtth  ESCAPE  FROM  VOLANTIUM!  Ti>e".ape  n»imml 
n'arKijv>nyDUi'^«c«kh<>AriMEHlobilacleiancEliscfblanthciuwdian(wahiHilhein|.tU«nj  Ifh»iil.i1l«Jwitha<lir,mi>Kei(Vit 
|U9la  Irikipfirddiri.  adoncqienilnthcauUiJc.  H>7we>«.  lJ)e(k^or'llPC»rvXlU)'Dpcrll»d^  ll><4jrNltD  iKIifKillinw. 

ilicdnoickHciiiHlaiK'!i'|uaridianappevi..SomeUmHyciCi:4fiun*ihthiiu£^tlirikjurbj'T^^  'Cfuppmiia'ay  till  mftrr 

Iffnn  It  4  impeP'inU'.  At  the  higher  levrh  oTpliy  more  obnicles  and  piardiani  «pp<ar.  aiUioA  Ia  Ihri  eLeiiemrrii   Lv%  U/ii- 
leiatutrfw  piphiei  aod  •tiufii.  Ri^i^  iin  16^ 
ALPHA  FIGHTER  '(Atari  onlyi  Price:  SI  ^95  Caaif||f/5)7.9S  I>i()(tllc 

Ti«i  ritrOenf  iraphKf'  and  laton  profiami'  in  nsr!  ALPHA  FIQHn;R  rnjujci  you  to  ilcLtri^  the  ilien  Kupiliipi'  ptiiiri 
thiiMi|;h)TniriniorotilH'fkluiir  ALPHABAS^Eiiinthepaihaf  aiikliehtJFOLnrkitOfi^lei  Tdi  UhU'L^crt  br+nd  ihcMmt 
mdi  BoOiiamHicquaeihtiOTUicl  and  ft  p-itinuvrir  mora  diirKvH  Ihr  hiiUniPU  Kcr^  ALPHA  MUHTtR  '^Jliun 
6*t  I6K  iriirmi. 

THE  RINGS  OF  THE  EMPIRE  lAliri  onJyl  Price;  SH.93  Ci»wite/Slli;.95  Dlikiene 

The  tminit  hat  d^vthqwd  i  new  tuiiik  >ikia:rB  protDcird  6>  rouimi  nnii  cf  rorty  f-Kh  ijpk  you  bUw  ihicuf-'v  ihe  iin(i  and 
deilroj  lite  luiioA,  ihc  mi^tc  dnTkipa.  a  oer  iiaii^n  mvf  tnift  si^ttctnt  rtpp  Thit  ncii^ni  (ame  rum  or  IbK  i)H(im, 
nnplo^  fstenuiT  irvphici  md  wuiri  and  oa  be  clay«d  bf  one  oi  IH'C  ptii'cn. 

INTRUDER  ALERT  lAi4ri  oi>)>>  FYicc:  $15.95  CJuiciLe/SI9.»J  Dlikciie 

Thu  M  'I.  tail  pwTd  tiK^Piftne  ■hKft'ctlKTi)ou  lathe  mi'Mle  orEbe'-Drcaduai"  having  ju'U  uolnt  lupLa.-ti  Thedictdi 
hair  beni  alerted  «nd  (Tt  dumri  ID  dE]Vo>  j-vj  IE  ill 'CHti  You  imin  find  and  mtcr>oui  lAipiQehupe'BiihJheptiai  tii< 
tnth  of  diffKukj  ire  pro>ided    ISTIIUI>£R  ALEAT  re^urej  a  ;idrvi^L  'ind  «ill  ur,  oh  14K  iiiUMi.t 


MIDWAY  (Ai*riJ3Konlyl 

MIDWAY  n  jweacttmi'Tiitmiori  at  ibc  fanirof  Batilolup.  Ii  ir 
ttn  bt  looihcr  human  9t  the  tomputer   C-oior  iriptiKi  and  t4>jii 


Price:  514.95  CaiielloilH.VS  DiUcitc 
M  ckalkofei  of  iiTiiiciy  and  (Eiancr  ^oui  lyppoAeni 
iKMn  iik:lij,d<d    Huiu  in  lOK 


TRIJ-LE  BLOCKADE  |Aiirioiily>  Pflse;S|4.^5  Cai*<rMj-lII95  Piikfttf 

TRIPLE  BLOOLAtlE  '1 1  rwoH(o-Uirct  pbycr  iraphK^  utd  HMindacuoc  (asM  li  ii  baxd-on  the  claiuc  video  ucMk  ium 
>ti][h  imttiDfLi havf  cniorTd.  Lnnctbe  AtMii  jayvkti.  Ltae object  H  toiiirecl  your  Uockadini  liMaroutid  the  icrctti  >9i>iaiiE 
lUOIuni  UEO  your  appatMntfl).   AAhOulh  ibr  UACipl  u  umplr.  Ihr  amtniinl  icapbici  jmij  VNnd  dTcn  lead  EO  "Ivt'i 

GAMES  PACK  I  (Available  Tor  kll  compuicrs)  pri«;  Sli.W  CMt«w/»lB.93  DiikciK 

GAMES  PACK  I  eootamt  ihe  ctatdE  tompBtei  gsiwi  of  BLaCKJa<^Y.  LL'naR  U^OE■l,  CRAt^.  Halt^RACE. 

SWITCH  arid  Hioit  TJkw  tmran  hair  b«n  cimibinnl  rato  qik  l«i|eOTOfiain  Toi  dK  IFV  load»V|.  TlVfy  1((  ledlUHlLttPy  tc- 
(rard  by  ■  ran>rnwni  mfou    Thn  eolknwm  !i  »'CFrth  the  piKe  lUM  foi  the  DYNACOMP  vfiiion  of  DLACklACK 

GAMES  PACK  H  I  Avallibk  f«  all  compuErnl  Prjcc  $14.93  CHictlc/Sll.Vj  Dttkcllir 

GAMES  1>ACK  II  iiUludci  I^k  |Xin«  CRaZV  EIGHTS,  J'OTTl^,  AC^V-DUCEV,  L|Fli.  WUMpiJS  »nd  .rhrii    Al  ■Hh 
GAMES  Pack  1,   all  Ihc  |wna  arr-  JDardvd  u  anr  profiam  4ru4  vr  C*iirt  from  ^  Tnmo     You  >itlP  pailKUlil<l>  cnlOt 
PYHACaMp-.t  vcKion  of  CRAZY  EIOHTS 
Wrsy  pay  tJ  «  'Hr  raorr  per  piogEam  aheii  jou  (an  buy  *  DYNACOMP  COllCilipn  Idf  JUM  MO.W 

MOON  PROBE  jAvalUblelbrallconip'jicnl  prict:  St2.95  Cailctle^SI6.9S  Diikelle 

Thii  ti  in  eitiemely  challenjini  "iLitiar  landtr"  pi egi^iti.  Th«uHt  ml^e  dii>p  ftiiin  otbit  lolarid  atapf«drierirm«]  i*itn  on 

the  rKrOn'i  lulfHr.  Ybu  [onEitil  the  ihruS  uid  [itimlaliDii  'dI  ynui  ciaft  plui  dirKl  t^r  rxtf  ordruFnl    and  arpra*>:h  Ulllr 

n^imtn  leK  Alio 

SPACE  TRAP  (Atari  only.  I6K>  Price:  SI4.9?  CiHct(e/flS.93  DltkcMc 

Tttli  ■ala'CLv  "iSnot'crn  up"  acouje  lamr  pl»wi  )-pHoear  I  biark  Iwk  Yeuco*lic4  your  ipatterafi  utini  Lht  loyi'tick  andit- 
lempt  to  bkii  ai  rrujiy  oC  ihe  alim  tliipi  ai  ftamble  before  iFir  blicli  hole  clawi  about  I'ou 

CHIRP  INVADERS  (PET;CflM  flfllyl  piU«:  S14.«  Caiierw/S|B,»3  Dhktttt 

LMtRPlNVADEASiiaDaddirti.TBunf  uimiicil{iBir^iht«i.Aff4rrWi9Dfp*<r^alk«finiu)ibrre»<lHiJbetorf  <hrCh<rp« 
<o«qi)ei  the  Earlh.  5ialionaiy  obtaski.  moiiat  tneteon,  4nd  ihc  attaclini  Chiipi  muit  ih  tn  iioidcd  for  j  woccutul 
journey,  Grcd  tark.  -W  «^imn  /'ET'CBM  «i> 


SUPER  SUB  CHASE  |Alh;  ixilv) 

l^l.T'Ett  sea  CHASE  iiBiulirB.  a  lurch  usd  dtSrifj  aiaiFm    Sd  your  cot 

fiuni  (tfT  Ihr  hidden  i^bfwrine.  Sn  ihe4ec<C>  chiTK  eip4ov«n  tlcp<^  and*a 
lamt  -afiKta  takfi  adi-wtafe  ^f  ibe  Aian'i  (rmptuci  and  toiind  catnbiltiiei 


Price:  519.95  Cuictte/523.95  DiskcHc 

lit  and  krcpin  rye  «i  t)<e  Wjnai  Tuidin|i  a)  ttctj 
;h  -Jiemitnk  ii:'ii.ardi  i^%  uib  Thit  n  uiiidijticiivr 
Otf  c(  i"0  pliyiT!'   JovMKtiil  traui'-rd 


ADVENTURE 


CRANSTON  MANOR  ADVENTURli  1  Noah  Si«.  Swpff B(*i«i  iu»d  CP  M  <!nf>>  pixe:  Sl 5.95  Diiken* 
Al  lu:  A  cnaprctKCirvc  Adirnnm  facK  fo(  Nmi.  Sur  lod  CPM  i^«u  CKA^^STOS  MANOR  AUVE.VTL'JtE  iikei 
)ou  inEA'  ■nyH'Cnovs  CRAJ^STON  MANOR  wfaD^c  fou  anonpi  u>  fjiha  fibukMii,  treaiuiei.  Ltirliai  m  ibr  ohoac  ut  niJd 
arnmab  aibd  latjou  «hd  Wi  am  frrt  up  itie  iKUjfM  Bitfaoui  *.  njhi.  Th«  njoibii  cf  (ooin.'i  it  tftaiet  ajU.th«  asMoaud 

^aKTipWiil  Mf  miKb  m^e  tiabVialF  Utan  Ihe  (urrcnE  pppubr  loici  of  Adimrjir  ptofruBi.  makin|  Ihii  larv  Ihe  tpp  IB.  ili 

elan.  Plar  can  be  itopnd  ai  apy  ume  and  iht  lutui  Mcted  oa  duLnir,  Soe  nailaHc  m  i  '■'"  CPj'M  lormai. 


iktlable  al  Ehe  larair 


Pricv;  121,99  Diikitle 
Hnd  Tour  ^n  'o  the  tbMh  tirte  ■hik  mairh- 
Thc  (hOKr  xilUffm  yiKjr  ipnd 


OUMBALL  RALLY  ADVENTURE  ( Nonh  Star  only.  4IK) 
Take  pan  tn  Ehu  outlaw  race-  trmi  the  cut  tout  to  the  vnicowt.  The  (oal 
tauuni  Ibr  li«bni  poiuble  ipctd   Tou  mar  cbootcoorot  Tii 
knd  iinff   HenicinbeT  to  tak.e  ipuc  pam  u>d  don'l  get  ciiifht  ipradiaj' 

UNCLE  HARRY'S  W]  LL  (North  Slh  do!;.  40K^  Priec:  S24.93  Diikelle 

UiKk  Han-y  hu  dK<l  xod  bai' kfi  you  everythint.  H'0«ei'ei,  be  IUine(k«ned  to  mc9)H0«>hnceviTvii>ifi|  it  I  livtead,  hw  ■tU 
'Ccnuiu  ot  I  poem  •tiich  coctiisi  ciua.  Yoa  wdl  have  id  uivel  ill  'Ovei  the  Uiiaed  Smei  hKh  br  cu  and  on  i'oM  to  iclic  i3w 
piuik.  t.n£  ititre  irr  svei  VK  locanou  la  probe.  Be  canful  uid  wiiah  oiii  far  red  hcmnfil 


TYPE  'N'  TALK 


DYNACOMP  II  ro«  dinnbuiiiii  Lhe  nc*  md  levoLiuonaiy  TYPE-'N-TALK'^^  ETbTTI  ipreeh  ijnihnuer  liom  Voiiit  SLrnply 
foruiHTl  TNT  la  your  computci'i  inial  inlcrtfcc«.  ttihH  t«il  UdM  iSe  ktyVOUd  Vkd'heaj'  the  M«rdl  ipoktrt  TKT  iDhttaiktE'tO- 
plS|T«mipReh  lYfltll'tlillT 'On  ih-rmaTlld    ll  llt«  IhilewtMBOuntorinemoryarjIproviileilhrmojj  fleubk '^i^ab^larir  iiailabic 

any*  hire! 


sfleubk'^ 

TYPE 'N  TALK  bsl  pwe  S17*   D'^'NACOMFS  pripe  $519.55  piu  S5-00  fcr  *tepp>ng  And  haftdliitg. 
TALK  TO  ME  (T"NT  AUri  only,  24KI  Pficc:  S  14.93  C»»«W/S1 1.93  DilkHW 

Thii  p(«fr*n!  pinenlt  ■  superb  lllj'tirul  m  tprsh  lyntlicBi  lubsthe  Alui  100  and  FVPE  'N~  lAlK  '^    TALK  TO  ME  nitl 

J]i2BrBi6  nortnaJ  "prd  fme<Kicfi  ai  w^  ai  ph^neiM  BcorfWwn   Tfte  documrria(Kin  ireiudn  many  Acipful  prbitammmi 
tip*   TALk  TOME  hai  been  demonttiited  on  relent  K'aSI  TV< 

OTHER  TNT  PPOGRaMS   MOO^  PROBh   TNr.  CHOMPELO   TNT  


MISCELLANEOUS 


CRYSTALS '(Auriontr)  PiSce:  SI4.9S  Cuscti&llS.tS  DitkcBc 

A  amnc  altwiUun  nadonily  prwduew  fwcrimwti  F^itBa  dnpliap  KEompaavd  ■«itti  tatm  «kkh  -net  at  ib*  puma  ttt 

bllLh    r*Ofwop<eTWTiiarf  Ibewme,  Midlbt  WffbwedrHy*  ofihuound  and  irxpliici  arrcRnniauliari,.  C|Ctr$TAL3hMt*tB 

jk4  in  \ixtl  M>om  to'dcnwnnratc  iM  rouod  tpi  color  fnivm  f!  the  At«ri  Ki/ni  m  \tt.  \ii\ 

NORTH  STAR  SOFTWARE  EXCHANGE  (NSSE)  LIBRARY 

DYNACOMP  tf)m  diriiibuui  lhe  U  tohia*  NSSE  Uiar)'   TIhm  didtifiu*  cacb  iontaui  nan^  profiKia  and  DlTcr  aa  owc- 

tiapdmt  »»*•*  tor  ifte  pwebasepriM.  TheriAdiid  brp^  ainni  North  Siuuin'i  coIiKtiaa  Call  m  »rm  DSNaCOMP 

ret  -dftaili  rqardoti  ibe  coeienu  of  tbc  N'SSE  colhcuoo 

Pnce  S9.9J  e»cVJ8  9S  eaeh|4t»n««ei 

Dw'  L'OfnpUu  KilkctHM  nuy  be  purdiaud  ^  SIS9.95 

5H"  DtSKETTES  (ioft  ««o«d/wn  lecMndl  Price:  S39.9S/J0  Diikcltei 

Ay  youiEiibi  inacme.  DYNACOMP  pcmhiUadiikciici  u^lattcqiiiuiunu.du  lafMheMk pricti  Weiaarti  tc  put  iheHv- 


BUSINESS  and  UTILITIES 


UJ 

7. 


z 


z 


I 

z 


MAILMAST^R  lAiirl  diiL^ttc  cnljl 
—  i...j jiv- „  januaiini  i 


Prkc:  XlV.45  Dlikcllc 
PAmLwifi.ii  m  II I  vrryxTtiiuc  hi[i*uc  [t»:ii|c  idi  muikfini  ind  mmnicnjiHinf  mill  iLililndmuM  iVA  b«K*  txh  duk 
£fn  IkiM  over  too  CUV amn  cnirici  cciEUuiini  nunc.  uUrcii.  31  Irlicr  Lfy  *cirdi  uidA  pCuiiK  numba.  ThcdBpUr  iiimirt'O] 
10  ihti  cn[fnniTU]r  bt  mtdt  uid  ediied  iitin  (u«.  Th<  ^tiiiuM*'  1  h  diik  i^^tt  klc+oiAioni,  eicio.  iho^c  ii  iJl  iueci.  Libcli 

fflty  tM  (iliftird  X,!  6t  1  up,  tAd  ttl  Mflinj  (tifi  Eadc  aIhI  abphlbrlHl  ii  pnlcHmcd  \ft  ■  ^»>  mKhint  itlitu*l«  [KOtrisi. 

PERSONAL  FINANCE  SYSTEM  (Available  foi  all  coraputerO  Price:  SJI9.9]  Diilicllc 

PKS  iii±  iin|,k  diikcitr.  mcnu-orkni'id  iiiimi  comfiMfd  of  Itci  diFf'tftni  pfoflfuni.  Bnuki  r«ordiii:|,  t^utfipnun  vA  l>v> 
dedkiciible  iienv'tF  PF^nill  kki  4Ad  iLinniU'iH  tipcnxi  by  (i*7««i,>nd  diiplty  mrMnuitoo  en  (i.p(ndiiijrci  by  iriiDf  Z6uicf 
drrinrdcniriby  rnoAlhiit  bf  pJjWr  PF!L  wjl  Firn  piodm^  cnpntKlrbtj  Bipphi  f\  iiDkii  rip«ni«i  b]i  CtietM)''  Tlui  pcnrirCjl 
pKhifc  rtgii>m  onli'  pw  d»li  diivt.tnninMl  Rwrnoiy  Cl'K.  Aiiri.  JIX  ht^iih  'Siu)  ud  «il1  ii^ir  htp  iQli<V>r««ii[  jict  diiJi 
lirdd^'Ci  IDODicciHdicwciitit.  bf  mitifl|i  IrH  iimpk  clunimo-lhrrtotiunil  Ydl  cutrKoid  chnklphlt  Fuh  cipnun  ut 
Ihil  yau  c*n  rinkllr  w  ohtit  toui  inOinr>  tact  uid  (imifuir  i-utHtwoct.  »fA  iltdiiMi  hvxj  <ik:ul<Ltcni  L'wiium  lti(]i  ip(«4 
mtchiM  Uiitu^e  w>fl    PFS  hxli  b««ll  d«Woiiiirilcd  at,  Bftsitf  t  |t'B!i>  Tit ! 

h'AMILV  BUDGET  (Appk  ind  Aiiri  anl||  Price:  S34.93  Dlikctic 

FAMILY  BL'DUt  rutin}  c^n^cnKfii  rtnincul  iK^Kd-lcrptnt  |KB(iiin.  You  <ti3l  be  lEik  to  kcrp  iE*cL  of  <uli  and  crfilii 
npcndiiurn  u  iirll  u  inccAM  an  t  dii!)'  btui.  Yau  cut  recced  ui  dedudibk  iiem)  4Dd  c&juiuMi  ifamMHiu.  FAMILY 
BiLOCETklio  pioiidcia^-oniiniiOuireciMdiOiillti^MiE  MktvMXtata  V6ucuE94ik(d*iliicubuidckuficntri»icui)i[i(2l 
dirCertnt  »ipmi<  tMauni'i  ai  vtil  ai  ic  !  ptT'^)  -u^  [itk  ii^Auati.  n*iaaf<Mue)r  rtifiiriiid  ihtuif  iitr  kun  ctHnplnr cmirvl 

oirr  IB  ulhriaLU  cAWH"^*"^  l*nd  i.liar|lriiinl^>  iub|rcl 

INTELINK  lAlBri  pnlj>  Price  M9.93  Di*k«ne 

ThM  mtiviTf  [kKkti*  conuinii  t  nvnu-dii>«fl  calkc(:ici9  ui  v^^fVM.  Iw  FacJimini  trrKHni  ii'o-va)'  cnnmtfnKvtKinii 

Lnrouih  i  full  duplet  tniHlrti  {trquiird  Ftv  in*)  \t\  aht  modt  at  B(i«ltli«T  Jrau  mat  fceitfCI  W  «  dtu  KTvkf  lc.|..  Thf 
Ji^URCt  or  MKm'Nrli  and  gui(li]')  lewd  Atia  v^Ox  #i  tiw:k.  quotMdnni  onlo  griMjir  dnictli  for  liltl  iitwini.,  Tllil  ■fUl!)'  n- 

diKti  "L-o<if>h-i  time"  and  ih^i  \ht  Hi^Kfchwic.  Ynu  mat  iIh  rtcotd  iKr<o«plar  ionimiioi  ■  canjsuimiiAat  Mutoa 
AddH^HuUf.  piDtrxmi  v-mirn  in  BA5(L.  ]  OUTRAN,  cic.  »!■>  be  tuili  DlllincuUnf  )'<*  luppon  Itit  t4it^  «i>d  latn  "kip- 
UadK''  In  liuincf  rMnpui«ii  malii.t|  ih«  Atari  a  wo  tman  icminal.  Exn  Auri  BASIC  pioiruoi  mai'  be  upl9*4pJ 
l-urihrf.  a  ipnunpnd  nir  m4r  br  tvil<  aEI-lincand  uHd  litre «  [mtiollini  mpui  (oi  J  iiAfic-ahaft  iriKn.  TiM  ii.  >{mcu  ki 
up  yuir  vcqurrK-t  ol  imif-thair  (onmandi  and  w%\wt>i,.  and  ihc-  A^ui  ^Ul  tiMvn'l  ihcn  *i.  n<n!«l.  bauh  ti*c(«tiin|.  All 
Ititi  uldii  up  CO  Ukir.!  tuih  CMtncct  tioie  and  yoLj  wiac 

PAYFIVE  (Apple  1 1  plu«  di*t*lie,  1*0  drives  rcquirid)  Price  SM9-9S 

Thii  n  j(i  r4Wiinetjtl>  fbktblf  tfliplc^M  pijiotl  i)i3«m  iriih  miaordiflU'i]}  (oad  human  cnfUHcncif  ^caiLm  PAYFIVE 
pitniiiVbctkiiWulnnipilnihf  rmjiird  inJrijJ,  itjir  uhI  !«■[  foimi  TcK  u[iia  J4I  dspJOrMf'  Th<  pafnKTbodi  nu)  bi  bour- 
l>.uliit'.fom[niihO'r  or  am  combifUKin  Tbncart  niulii^<>{iii9n  le«  pai  proodv  *nd  lhrT»l«if»n  bcuxd  m  i.r^  cmiI' 
btnaiicn  PAVFWI  Liirliidrii>«B>ii'achrr  Iraiurfi  and  [DtnntiTrnric'y  >tII  dociinvcnicd  ^iih  a  20Qp«K  <n«nii>l  tlirmanuaJ 
mi>  bf  [MiiilLaMd  Miwrairl}  lor  IH  utd  Ihti  p«>in«ni  lairr  appJird  to  ihc  ult'^air  puic^ux. 

SHOPPJNG  list  (Alarionlj'l  Pricct  S13.9S  Cal(r(1c/tl6.93  D!»lctfl« 

SiHOPPI^Hi  L  1ST  uomintMinaiiH>c<'i'iimi  ^oupuicbaKai  ihcikEmniirkfl  Bcliur i.oiaj ^hoiiiuic.  it  wii]  rnivAd  t'OacI 
all  ihc  init>|i  )ciji  <iii(lit  md,  and  ihm  diipli)  iw  opijoniJI^  ptinil  ytnu  ihopDMii  bM  af>d  iM  Twri  fml   A44ibi.  drMini. 


TAX  OPTIMIZER  |A**a»ti|e  foi  »|1  cumpoimi  Piic«:S39.95  Dietetic 

TbrTAX  OPIIMIZE.R  n  an  ru)'-i!>uiT.  ttwhu  cnrotcd  wfi*aft  MCtaft  »hic>i  pfond>«  a  cpoi'ta^a'  ntrtm  fpr  aiuJrisi 
•wvi  iKMAj  lai  iiiwctaCi  Ttac-  pcoff  am  ii  dti^rxd  la  pio>id(  a  i;uick.  ud  eair  daia  eoir>  Encoac  tii  n  cDracvtcd  b?  tJ^I 
\t,\  Bvrthodv  (IrfuUr.  innMv  airfatnl.  TuaumLiin  ani  attcnialt  MitimuKi  laa)   Ti*  uMi  nur  lOUMdiaiffi  cbwnr  ItK  tu 

dlmuf  CTiiual  niuKiaJ  dccii^ioni  TAX  OPTIMIZER  hai  b«n  ihwjwjhti  firtd  imnJ  ■"  CCa  offuci  ini  comn  eiMi[>h9.4 
wBh  IM  {vncQt  laL  uMn  la  tti  Oau  filn  TAX  UPTIMIZtR  ii  ixi  dcduciitilr' 

irriLlApplcRnl^4RK»  Pllcc:il».9S  Ditkttlf 

inriL  n  a  dnli<>rtm«d  hiiil>t>  iiM'Cm  ■Kie'iprrmni  r>aniiriint  •'vl  ihu^pf  of  th*  (w"f"(iDf  PtK  i  ixnd  !  i  dnLirUn  at 
ihf  biKiiibbtror  bru)lritt  tknh  LTIL  imicu  m^t  naniiK  ilwcHtfiiii  ofaditknir  KTi[>t^>  Kcior.  mirMiwt  i}>«Kt' 
l^tipniitEli.lnlkiCllr  inMit(4  i   bad  McliMi  Miir  be  "rudl<fii''K4*d  p^fMm  BUUir  CKbti  Uptuitiuttd  Dpfraum   Forth* 

nptirrntvi]  ptqrwnnyr 

TURNKEY  AND  MENU  (AUiionl>}  PriM:  111.95  pi*k*tif 

TLRhkEY  It  a  u9ibit  p46(iaAi  ahicn  aUAvi  i«qj  is  cieiut  tiiiob««4^aiaa4kiE  diiicTUi  caul]).  Suaptr  l°*d  and  run  TURN- 
KEr.  Loadlhr  prufrun  dnkcttr  (o  be  tM)ib Tied ,  XM  lAivcf  EM  4u«i:iOai'  Tbr  TL'S>KEY  daiRlC  ilM'CWIICI  >*nh  DOSZO 
arid  inclv4ci  HWhIut  EHOtiuii.  mini;  MENI^  lrvi<brc«<mi  gf  r*""  dutrtlr  al^halirlEltljr,  Uid  [*nikill.IM  r^iuunt  of 
liiji  BA5IC  74^afrm  do  tlw  ditkctir  t-j  ii^wnt  a  un^  kn  TL)IM(EY  a(>d  VEhV  p«o*^  ypB  wafc  eJw  xbib'tT  to  ttit.  utn 
proiiifn  on  youi  diilcnlE  b>  itmptj  :li7ild(  hi  the  cotnputn  and  ptniinf  i  iiii|J(  krf 

STOCKAl  D  I  AUri  ois,l> )  Pf^Cft  114-95  Diak<iif 

STOCKAiaprcnidn  a  pv^rrlnl  vn  ol  looh  fn  hkI  tnaitn  ai>aliti>  Wuh  ^tQCKAED  r«i  (xn  du^iaf  paiat  aM  fi|ur* 
chani.  ai  ^rUaibv  ciuni  wHh owdlaiori  Ypu£aniJKirunu]Klon|i<m  n(^lflta>n'a|inando<i-balaim>'0'iirB«  rnivin 
STOCkAlO  allAvi  ]0v  M  aipui  daiJ;  dau  wub  a  un|b  dhiktiit  iiniH*  la^abdji)  af  11/*  da>i  ■  14  uocki  InclkidoS  art 
Wort  4nilrm]  *nd  ipirt  adjmWiBcnt  rapxMilin    A  i»i>  pralnuaiul  packxti' 

SHAPE  MAGICIAN  lAppIr  11.  JIK.  dUkiKt  Ofi|>  I  Price:  SI9.95 

M  taS'  AnuliLilr  (ot  paiBkuI)  ^rainf  jta^m  ihaivl  I'M  Ihc  Apptt.  Ctnt(,*dd  IM  iai>«upiC  H'lhirpei  •*UCh  can  Ihra  bt 

flirt  10  4rirk^  iUr*4«  nmri  c«  io  -"unplr  rnhxan  70W  prov*"*  A^  '*■ 


EDUCATION 


HODGE  PODGE  (Apple  4«K  ud  Atari  diikcllc  otilyl  Price  114.93  CuMnt/lIM!  ENikou 

la  HOEX^F  POPOt  b*  yvif  (h>Wi  it4ci<n  PirwJtti  «ny  ir?  en  )a«i  Apptr  i«ii  rmii  a.  a  ditleiMi  lod  mtniaici  "'liap- 
pcnni."  tdawd  10  ihtltitn  v  nimbtrol  ibc  cthoicn  to  Tht  pfflfrim'j  p»pfti«,  (lAw  and  wwiid  af b  a  dcigSit  rotcitaldrtn 
riMiat^  I'l  to".  HODGE  PODGE  lia  ua-uuintidauiiit  iCKbinidoKC  f-lixh  bnniia  or*  dntKiiiioeTD  1^  uKcfcw 
pvtfn  ui  rdiaxtiDn    %a  \Yt  ructtml  rn'r-i  of  tda  ■«}  pOpulit  pen^Mn  irt  IF^FOWOHLD  Ud  SOFTALK 

TEACHERS' AIDE  (Alafl  DnI;)  Prict:  $33.93  C»it«ie.SI7.9S  Diikenc 

TEACk£KS'  Al.OE  fDhmtt  cT  \'s^*<  b*uc  nwduktcoeuiiiMin  ah  pievaJn  The  run  modiik  pft^^idn  ad^tiMi  and  w^ 
Ktdian  rt(i(iKi  a'  iairiii|  kMh  ol  dirruuldf    rh*  i«»h3  raodulc  conuili  ai  Riulli^KaiiOO  ptobVmii  m  ihhACh  ihc  Itudinl 

m*>(*itvrtb<nhci!Pb*fir«(Mii-w4"!i*'woniii*wb«pi*l»"i"?nunhrio"«h«MEp<i)cirfiiir  ^nalkitbercoapkid) 
•irpro^idrdbfrE  ai  ^t\\  TbcrHjidnodok  cnui»;i'iildi'>n>onpTob<wim..o<K  Mmnilattr  set  (f«iurrii'thcdi'tis«i<iaMduli' 
ltlU;lUloMhalUdl•ll•onlt(^4«a^b«dapU|«dal«n|*^lhltH^(IIlail3lS«IlnHdfT1Dckarlf  dnmuitaKiht^w«4«rf  br 
*n>i;h  tM  tiMWiAAK  II  deiiiM    Luai  TliACllEft'S  AlDF  m  hm  mcfdr  ■  diill.  bu  raibfT  a  kvnuii  nivrlOKC 

PHARMACOLOGY  UPDATE  (PETorlyl  Price:  1169.95  C«»lcllt,1149,93  Oiiltane 

Thii.  D  DVSACOMPt  TifM  riucaiional  Hrixic  «iir»  tw  iHf  iDcdxKt  pf*r«vOT  inwrrxiE  (oniin|l|  fMAtcMACOLOCY 
L'PDATI  '4X1  '•nttcobf'a  K.  M.  ai  a  naiEcnprotcct.^iihibc  ad  oFa  ptaciKint  pha/Tnat:9l«rvE  andanrkCTDfuuiaib^dcittf 
Tha  pukxtriDinn  lo  lail  puii.  Dw  fim  p*rt  11  a  3X>  »at«  fllAAuU  slbch  It  Oiiidtd.  mlQ  11  uaiiHi.  Ejc^  DfthcM  ictliOII? 
prviJa  boOi  (oncBf  mronnxlion  aad  ptiriniii  quntiani    Thk  ittuMd  fid/T  CdMoti  d[  II  ptOfiaiM  itiai  Vt  k.«>«d  iolhcim 

and  vhicfi  im  in*  dcinr  ol  torn  undirTiiiirhdirLf  of  thf  mt  niHftitl  Thrt  pwtaci  hu  iTtat  pducxtioiwi  rahi^  fiH  iM  bcfiii' 
nMluudeni  ai  <vrll  aiibr  proEmiona]  intrrnird  la  aji  rfficHTit  »ati£>rT*hr«  ami  updait  hiiv  hft  kimlrdif  ArailaMron 
cawvtln  (Ilk  Dl  'dtikrllr 

TEACHER'S  GRADEaOOK  (Apple  ^BK  dual/iinf  Ic  drive  |  Prkc:  Si9.93  Diakeite 

TE.aCMER'^  GRaDEBOOK  II  a  te-npttit  r*ll■<pr^l  pcoifciitd  EKMd  kr«ixn(  i>«nn  \a  iPh  fLauriHcn  li  itetvorTi  up  11 
nuir  ■1(11.  and  rwh  uwr  ma)'  haii  daLX  fix  u-p  taniDr  riUiun  ^fiiMMdiU.  ;«ah  up  EO  Wilxdenli  pn  claul  TypKi]  inltinna' 
iwa  ThKhtxa  l:«fiiiri|4.fijiifd  and  procrurd  UKtuiin  imlTTV  xbtrntn  and  [cxdn    SumntU)r  tCpMU  OUr  bl  dttpUycd  IWI 

iheKtnrtlor  crimed  m  lanout  ■**is.  "Oh  auiowaac^paSirt  a»tTMioa»n«J(onTHTiJror  \a  Mt«  (rptef.  Tkiairau*bu  been 
Elites  ["lODf-pfcxstrd"!  in  ihc  cLaixniKoanKnt  and  11  b«1i  '^dl'BTtiiin  and  vdl-dwummirt. 


ORDERING  INFORMATION 


Sklpftot  a»d  Ha*«nCtort« 

Wiihio  Mjrtlt  AmfTKa   Add  U  DG 

Outudr  North  Annita    Aild  E  \*t  lAir  Stail) 


All  ordm  intiudiiii  booki:)  art  tcni  Firw  CUh- 


I"  CP'M  C 

Add  I2.5C  b)  ihit  Uaicd  diiknii  pcKc  ror  nch  I"  fl»ppr  dnk  HUM  von  u 


airi  L'P/M  (lymail.  Pionami  imp  -vndct 


DYNACOMP,  Inc.  (Dcpi.  e) 

1427  Monroe  Avenue 

Rochester,  New  York  14618 

24  hour  mcssn^gc  and  order  p!ionc:  (716)442-8731 

Toll  free  order  phones:  (800t82S-«772 

(800)828^773 

Office  phone  (9AM-5PM  EST):  (716)442-8960 

N4»  Ycit  Milt  rrMlHii  »kuf  idd  I  S  HYS  Hhi  ui. 


DATA  SMOOniER  INn  •iiilibic  ror  Aliril 


STATISTICS  and  ENGINEERING 

DIGITAL  F[LTER  (AiJ»H«bl«  tor  all  compulcrt)  Prict:  SJ9.9S  C«Mlie/M3,»3  Diikeiie 

DIOFTAL  FILTER  ii  a  rampfchcniivt  dau,  pfenHina  pio^xni  whith  ptnnai  Ihc  uw  to  dcuf-a  ti»  own  TiHer  rvncuoii  oi 
diMH  rK«a  a  SMOu  ftf  Fillef  (anni  In  ihc  caiilicti  d«i*n  iFH"lr  th*  iJiape  o(  ibe  TiequciKy  iianirrr  funawn  ii  wwfinl  br 
dirmlj  eB+rrini  poinu  aloiv  eJk  dmted  nJwf  cvr>i.  In  iht  timiu  n»d«,  idoJ  k>w  pau.  hi^  ju«.  xnd  bandpaa  fihcn  mair  be 
appTOMiiiatpJio>amn|dnfK>accordin|  ti^ikniunbcro-rptHiitiuKd  lq  iht  oiculaEion.  ThrvritLentrui'OfHkmxllyaliDbE 
iniMdiKl  *3ih  a  Karninf  funoion.  In  4d4it«n.  muW  uaje  fruttcfworxh  fiirn  may  bf  Kkctrd.  fc«ru(ei  of  DIGITAL 
FILTER  iocludc  ploitini  o t  Uw data  belor*  and *flfr  niimm.  ai  -4ll  u ddptiy  of  ihc  dunrn  Fdwr  Iira:i«ni  At™  nKEudsd 
an  coEt'isknl  JaEx  itaiaj«.  ictnrval  aod  idninf.  ptond^rn-. 

Price:  119.9!  CHiclfe.12?.93  ptikeiLe 

I  dcm«  umTiiI  inronculkin  frDiTi  notlr  bUHnm  (Pi!  rniinrmni 
I  Wteh  K*  equail)  ipacfil.  fba  wri^art  faiuMf  rhokc  in  di^ioe  and  lu^f  of  fn.  u  Mil  ai  mHwihcd  fini  ami!  wotid 
dcnTXIrtc  uLulaliDri.  AIM  lIMludcd  it  aulonulK  plMlbnl  of  iht  inpul  OaLa  and  iRitKWMd  t«iultt 

FOURIER  ANALYZER  (AviJlibk  fof  ill  c^impuiera)  fricc:  tl9.9J  C»mil*/llJ,93  Diitdte 

Use  thu  profram  lo  ciaminT  tfM  IttcwiCT  iwctia  of  bmrtcd  duraEiMi  itsnali  The  profiim  I«iuf«  awpiiut*;  uxkai  and 
ploitiAtof  tbtMpul data  and  nulu.  PiKtxaJ  applKiEioni  mtlialc  ibc  aai]|«ciof  caniplKxin]  putcmi  in  ruch  Firldi  4i?lc< 
lioBKi.  [Dcnni.nitabCfLl  aAd  biOlCKU. 

TFA  <Tf*o*ftr  Fufi«iOrt  Ahilyic*)  Price:  11995  Ca*wdt£/S3J.95  Oiiknie 

ni»  » a ip««a]  lofE^aJt  paclair "hicti  may  t* u»*d  IP  cvaluUE  thE  tranilrr  f  jtmipit  ol  iTimsi uiEh  ai  t^i-fi  tmpbrteii and 
mien  br  Eiammnii  thcff  rwpoM*  is  pwtirt  mptiu  tf  A  »  a  «*)«  okadifitaiion  ofFOURIEH  ANALYitH  and  oniiBUbi 
(OCiaccnni-onnuid  dcnMli'cnuikofFreqMrprt  ph^ai  iFctlai  daia«diiiat  [ealura.  Wbcnas  FOURIER  AN^LY^^l  ndr- 
Himcd  \ot  ^BOiiAfial  and  mattirx  un.  TFA  o  an  fntmertint  HwJ   A*a(iaMr  (o*  all  contpuieii 

HARMONIC  ANALYZER  4AvBilBble  ior  alF  compulcn)  ?ficr  134,95  C.i»ette/S38-93  Diihellt 

HARMONIC  ANALYZIR  «ai  iSeiifiMd  lof  |kf  K«ftuni  xi^r"*  tif  fip^itirt  *»'.rroraii.  Fcatutn  [Mlwkdal*  XM  |n<cfa 
iK:ia.  iiiiiini  and  itofxic/midkal  ai  oeU  u  dauairi tpvrumn  plmtini  Onr  t«rimUilr  bin4jiM:  faoLiy  ii  ilua  thr  mm  d#tx 
nmli»ib(n]iuaJii{>ac«di>i]audiet  TTMoripnaldatxu  KWicd  apdacubx  K>EiHiBtcipolaiiM  n  UMid  icflcxicthcdxia  Tik 
rcijuircd  b>  iIm  FFT  aiicpthm. 

KXJRIER  AN^LYZ£R,  TFA  a™!  MAkMOfJIC  ANALYZER  mx)  En  pirdiaicd  tofnher  for  •  ct™,b«iBl  pntnsl'Sil  *J 
<ihJM  cxxHtieii  ird  141.91  Iihm  dokninl 

REGRESSION  [  (Available  for  all  compulen)  P"c*:  S19.95  Caisclie/*2J.95  Diikellc 

Rf  CRESSIOI><  1  n  a  unique  xod  tMiprkraafli  i-ETWik  i»e.dMneniiiwi*l  lr»  n^ium  "furtjiieniial"  cur>t  fittint  priqirafn 
Fntunn  indu^  m;  b^  acAmcf.  an  lutoaiaiK  ricpn  dnmiunalKm  Wipn:  xn  niauiic  laiecul  bbrao  of  TitEbit  fuoc- 
ihO«i;  data  ed!iin|.«i«>pa<aiK  iiUta.  ctwrasdTTiidualiiiMticii.aiiaiuiKa]  aorirni  lif :  tundnd  dcfMiia^n.  nvrrbtiDeoMfn- 
mi.  Rc.)  and  taiKh  ffhoc  |b  tddMxn!.  d»  rm  inar  bt  itri  wcbooi  itcfltcruii  ibi  daia  RECRE^tOTd  I  »  c^tUisI^  ihc 
»<nfru»nc  profiaa  in  atir  dau  ajwhnii  i^rioxrc  litexi>. 

REGRESSION  II  lA«a>litik  for  nil  (ompuienj  Price:  SI9.9S  Ca»teiIe'12J^,95  Dii^eiie 

PARAFIT  H  iJrawMd  lo  baadl*  ifaowfaaH  10  *hi(h  the  puaxDcicri  uc  ervbtMed  (pomEtlr  wmttarajETl  la  lb*  rinmi  fimc- 
IKra.  The  UKt  iiap<T  iMCru  th«  rwnUKtaal  fo™,  mrludiOt  EM  pai VUUn  (All }.  Al2>.  CU  )  U  M>r  or  iBO«r  BA51C  liaiMiMI 
luiH  Dwa.  toulu  and  reuduab  Bity  be  DtwupulUol  and  plMitd  ai  auk  XEGKEl&ION  I  Uk  RECREKIO^  I  ^or 
palToeaial  TubBt,  and  PAKAFFT  r«  tbotc  cKnpJKairt  Ejnoiwti 

J-tULTlUNEAR  RECHESSION  (MLRl  lAi^aibHe  for  al  compum)  Price  S2*.«  C«5MJlc.'S2a.K  ISiAeae 

MLRit*pcormKwialiofti«iiEpacla«tfwi(»Jfr!T*dxta«(irontjiininii»i»«m*(lirw4rt|  JKJcpEi^  Bet-3Q 

pnfnnuni  tJ«  bauc  rtfrtii:04  ukulatioo.  thu  propam  ab«  pttni*^  emj  :a  u*r  dxia  mirr,  tioriK.  rei/idaJ  and  rriiUD| 
UpirTWOi  |q  additifn.  iPiruHi  roxT  ihieticfaECihe  wlution  b}  tupT>tTi'''<^>luEi  l?i  ibrindrpcndmt  laiulhln  ThdnuiEberol 
tiaitabin  and  tM*  un  U  lanilfd  PPJr  br  'N  tvadxbb  nicnieiT 

REGRESSION  I.  %\  and  MULTILINEAR  RfGRESStON  na^  b«  pwichaird  lotcihcr  Tof  l!l  Vi  (tunw  c^uranp  n  t*l  »1 
(ifacH  diakaiteil 

ANOVA(Nola*iil«bki>rt  Alwi  (MlMW  0*  fo«  PET/CBM)  Price:  SJ9.9S  C*a»rtlc'W3.95  Ditketw 

tB  tbr  put  ihf  ANOVA  laHfn"  p'  -raiiaKcl  protrdute  hat  be<n  Lnuicd  to  Ibc  larfE  njaipflfcav  canpiini.  f*am 
DlfNACOMPhaibrDUfhiibcpff^wcftbBOKifKiatQinulliiTtratt  Far  ibcKtWMterTxni  wih  ANOVA.  uk  DTNACtW**" 
ulh-atc  »*ciat«  mcltida  ibr  I  •ay,  ^--ayaad  N-w*j  prmrtipw  Alw  pnwulrd  a™  th*  Yate*  l*^  '' faciimxldaitiu  Fm 
IbnciulaiBduimU)  ANOWA^donoi  »CHTy.TTw  KcnQp*nTia(doci>IDni«loa  nai  viEtn  la  a  lidenal  taihioa  llFr  a  piD- 
Ttwwmilw  wbjw<la«liiTTTiaixagctBeM  HWodttcaaniptbEiubtn^  A<xpmpM;uta  A^tQVABaMnartgn^^ 
buMnf  ibc  dtia  bait.  |pct«4fd  fr*  mml  amrsHEni  r«ajitm  uKludutf  da:i  editmf.  d?lnia|  kA-  ipp«id:Ea. 

BASIC  SCIEfiHFlC  SOBROUTIKES,  Volume  I  and  2  (Noc  »viil»bl*  for  Atari) 

DVNACQMPr  |hr  rulumt  dienbulof  fur  ElVe  lO^t-ait  \.n*t  to  Efi*  popuUl  tnW  BAlft:  5C^£ST7fTC  SLJr^OI/rj.'S.fJ, 
Fo^J^n  f«>>rf;t'7F  Rufll*»(hclli«ad>otacmra,tiUiBkTEau*Utnt)  T^eic  lubnjulinci  haitb«ti«*K™&»rdxt™idmi 
10  ebafKn    ladudrd  *»i,  each  coHtmon  n  a  mmu  iirapani  vhicti  lekEit  aM  ttmoAurtm  each  lubiouim: 

Cj»a<ici»a  'I      Chifitin  1  aod  1     Dva  aaJ  functMM  plntini;  Kntpk*  >ari*tiia  aad  funcui^&i 

CohtTKMi  1      QupKi  4     Eitrnded  Baitu  xnd  rtat*  opnabcHU 

CoKkikh  n     CtaapUTi  1  and  b    Raodon  nwnbn  imrcriDn  |Piu*n,  Ganmu,  cic).  u 

Pnc*  p*t  ciri)«iioci  ll69JCa«KMe/j;fl95  DuirtU! 

All  thnraJWiDRi  ■»  aiaiUik  Im  S449S  itlwK  cmunul  and  S31.»4i 


'1 


Lna^r.  totyaciBial.  ntUiicbBii 

.  5<m  wnwpTinialion  ln:hft<o«  IK 
-  FuDcuonai  approi 


CDBcction  fl:     CtMpin' 

C«Ukt4<i  S\      fTbxptcT  ]  ■  FuDcuonai  ipiprouiEC«uctu  bgi  itaainti  xeilTnulMdn 

Cohnieii  M      Cbapwr  4  ■  croxDH:  ifvrouBiaiJCM  14  trvonoRKUic.  hypntxriK.  npiMtmiual  and  kicanitiiajc 

rwunn. 
Cohcucn  H:     Chapur  3  -  TaHr  tsicrpelalMin.  idirrmetutim  and  rtWiiaiJM  lMci-n>iM.  LaGrxfice.  il>lp>n) 
CoOtcwo  M      ChapuT  «  -  Mcthodi  lot  findni  ihc  rtail  rwNi  of  runctiiMi 
Ct^IoiHia  /T      Chapur  1  '  Mebodi  f«  Findiaf  thr  ctupph*  ro^i,  el  Iubeudbi, 
CcOfCTiop  «     iTkwiw  I    Opi^iiiatiM  bf  uecpni  docciM 
PtKE  pet  Msfcetwfi     It*  W  C-»rti«'*il  «  DuIbi^ 
All  *i«bi  coUrci^wi  aii  a»xiLaMc  for  m.n  «v)»  n^Ktm)  and  }l».»^  |n^i  diUnm) 
Baaiiit  lb*  wtii  ar«  a  kilal  pw  or  the  doninKTUtkM.  B4WC  5C/£lvTrf  it  S  L'MOl'T/.V£3,  »iVi^ 
r>e<B  DYNACOMP 

BASIC  SCIENTIFIC  SVBHOtrnSES.  Vo(  1  III9  pa«3):  II9.W  +  7St  pcitiie 
ftAStCSCIEVTIFICStlROl/riUfES.  Vol  2  n«  [*»«>:  113  «  -  tl.WjHitaiic 
Sm  rnvnL  in  KlLOftAL'D  and  Dt   Dobbi 

50FTNET  (Appk  I  i.  48K,  diikrtk  onlj)  Price:  II  29.9! 

SOFTNET  (HI  b«  i^Md  tq  ^tst«  nodrii  of  liquid  [npcliM  i;tie(id  Id  Evakiati  ibcu  fh:- pcrformtffct  L'pip  l^nada«ah 
up  la  I W  oHDceint  tiMvemi  nay  bf  i4m>ri4iHl.  and  modrh  mar  bt  OMibdMd  lo  focin  >«  tarter  Dodcii  If  mi  we  ■n-rahrd 
in  Baief  duiribtKiaa  lyuenu.  chotiical  thiid  ftp*  probknii.  buiUni  pliin.«iaj.  dif  uMiU/  ijiuairteu,.  ihu  u  aa  idol  aoBfyst 

MATCHNET  iTRS-SO  oolyl  Price;  SI9.^3  Caawite/T23.«  Diskette 

It  pflen, lakei cayi  lo  iieratj^rly  optoaue  an  L,  Pi  w  T  mxichiaj nctxak  for  a pamcvlar  vpbcauca. Tai*  a  fp"  nusum "*h 
MATCHN'ETaaidyau  viH  ha'c  the  g.  (nqvmrF  f«pc«u«  aJ>d  rrlWsiiM  tuelTKiewi  fo»  aoj  of  iwtvE  nxiiimt  net»™ia. 
Tmi  Bi]Ha  Ehc  HnBR  add  IrMd  Hipcducs  lad  HATCH  NET  olculam  die  R.  C.  (and  L)  ««hn  and  pkMi  |xad/cr  pnta)  Uk 

rftq»*l«riIWpOI»t«Pd'tfl*«K>o  corf fmenU  foe  e*<lt«*lJijW»t»CL  The  rmrwr  Of  Eho  pTOfraJB  renwnbiT*  *boi  Etc  use  » 
te  Ihu  by  liajKl  and  kTro  MATCHNET' 

ACTIVE  CIRCUIT  ANALYSIS  (ACAPJ  (UK  Appk  mIi-)  Price:  SJ3.H  CuKtWAW9-*3  Diikette 

With  ACAP  wu  Mil  HuJm  Ih*  ratSBae  o<  aa  acurt «  puxii«  owipaeieEt  riciui  TV  rtteiri  bwt  be  proved  at  fqual  divi 
ta  rrnqneBcj.  and  the  ieMhui|  cottipln  ira*tajei  it  ndi  EaB(io<H«i  joKiur*  cunuacd:  ibe  rrEqucarr  topooic  of  a  njto  « 
aBpLiflcT  nay  be  compktctjr  detonuncd  ill:  rnpcci  to  hi^  ampJiiH 
aulrHiolEiadaAceof  *altx«e  tM^cftid  ^tstta  reiiib  f roen  lotennn  xi 
UK   Cltmi  iteiKiiptioiii  mair  be  u>«l  onlQ  UXWIlt  «  dtlknir  to  be  I 
ihOSiid  be  p«n  of  ertfT  rucvo  iJeuf^xT'i.  pcDfraai  lj6tfc*>. 

LOGIC  SIMULATOR  (Apple  oiilyi4aK  RAMJ  Price:  SJ5.M  C«tc«e/W9.93  Diikene 

Tc«i  T«u  — — r*"'— *  di^caJ  k^fi:  dea^a  •ith  reipca  to  pvn  ki  of  mpiu  lo  dotriBiiK  l»*  *Tfl  Dh  cnmri  viO  ofietate.  The 
rkmou-hick  «t  be«iBid*rd  inclM*  tanliipie  input  AND,  OR,  NOR,  EXOK.  EXJiOR  aad  NAND(«»,  ai  "dl  ■»  in- 
>tTUTi.  J-K  aad  D  rkp-flopt.  aad  oMtfwU-  [opuii  ntay  br  ddikid  ut  «iih  taryuki  dock  <yck  ienpbi/doplac^naia  and 
delafiaiaf  b«  nnoducBd  lo  ptdCh  for  (b4cfaeiBad  race  coaditioqi-  A  tnuni  daavu  fur  bj  im  mt  of  bodet  nay  be  pkKted 
uMti  HIRES  trapttaCi   S»<  your  bnafbonrduif  nnul  the  catvn  ii  thecka!  br  l-OGIC  SIML'LaTOR 

NUMBERKRIJNCHPR  (TRS-80onl»)  Prke:69.95  Ca»»elU;17J,95  Diikme 

IkiipiD(rin.iihei^ai[i:oe>:pkueumcriC«]*iialru]rncnia>aiUblclMth<1t£-40  Ji  can  Eiandlrup  to  131  data  irti,  eath 
lei  bartni  a  tu  (li^airLn  ume  li  uxiuda  cmpleM  Oaia  tdute^  ftctlitJei  aad  cmkouiEi  data  in^t-'wnpji  wpabJnr  Tbc 
xnatyKi  xvailab4c  arr  multJtik  Imev  Pttntaipa  and  lonctaiioe  dcteminxiiOA  at  rtitdiialaH  dau  vxaxCHmaiiocu  acri  eiimuM 
l.iap'hh^  leiKiKHn,  utctulinj.  xui  oMuat,  aad  nwec  Tto:  luppgrtinx  ilmMiiaiiiaiitiri  u  axuHMli  mU  %nitEii  and  ad 
arjaiund,  aad  lAtbidti  apfKudioei  which  docTibt  t^K  niascrKal  procrtum  bk4  m  ilie  ptofiKra 

STATSORT  ITRS  «0  wiljl  ?ri«:  $39,95  CaiMtie.HJ.SS  DHkeiie 

^  AT30ltT  caanu  of  iev«n]  Eunu  H^zinl  propaau  -^ti  aJ]o«  Hi?  hkt  i^  anir  !>iiukl.  «dd.  Acrta),  fdcmai  ud.  pniu 
Tlla.  (iniKbiB*)  apd  then  OS  bi:]<  field,,  x^  Cuacfkallji  fcaxJyttlPUnmLnr.  miiumuM.  «Tgap.-«ariaitce.  RiV^ard^nuiMal 
tabvlaicd  dau  STAT50RT  :ii  •tQ  do^vmniRl  xul  mr  to  uk  Tlit  caautu  lenion  can  xlu  be  cnphTjrd  lo  cmte  a  data 
type  "hich  caa  be  lod  bf  (he  Radii  S>Kk  Adi-wicf^  Mimical  PVckasr. 

STATTEST iNotaTiilabkofi  Atari CMfctte or  fo'Pr-T/CBM)  Price; SI9.WCa*wite/423.95  Diaketu 

TTitiBawaiBaMf  mreTTnwpacMwtinah«lpaTminiakewa«itBCOiwuiBilnf»etof  uncanaaatT  la  an  Mi«T»nr»t  fatfi^n 
rou  can  buid  and  «i&t  dau  TJei  tnd  leM  Ux  dif  fernmi  ta.  bma^.  laitanrtt  and  ptopomom,  STATTtST  will  abo  pwfocuB 
diau  aa*rriu  ai  will  ax  do  bnur  oHnLaLiM  and  rtitnaaion ,  Tlili  PB«ii  J  jlHKiad  iiBtiriknl  iriHkltotM  ki  roubded  oui  «uh  X  c^ 
tquare  coAuajcncv  tcuaidiluaU'Eievaad  norviBllraadomMJiipleKivriiai  The -docunmtaiion ii  virtiM  bi  a  coJlet*  P>a 
f*uM  laho  ludM  rou  ih:r«utK  ibe  »vu<ii  lati. 


». ACAP  p 

utDicconip^Dcau  aCaP  a  taiy  Id  kan  and 

1  a  Later  lane  (oc  einvtjein  or  nUuii.  aCaP 


ABOUT  DYNACOMP 


DYNACOMP  b  •.  k*dln«  diatribulot  dI  HtVtU  irucffl  toftoxjf  wiih  uJh  ipiaflaini  the  world  (cuxmillj  bi  «ccu 
of  30  counlrin}  Duriai  ihe  pan  three  yran  »e  ha*c  p^cll^  tnllits«d  tht  DYNACOMP  pmj jci  line,  but  li*w 
imintEioed  mod  unproved  our  h^h  level  of  qualily  and  cuitnncT  tuft^Ofl,  The  ai;hi^«neni  In  qiiaiiiy  ti  appaieni 
Irocnoui-  Eixany  rrpcai  cuitomen  and  the  uirtwaxe  le^iei'i  in  mch  publioiiofti  at  CCMPUTRONICS,  SO  Soli ' 
wue  Cniiquc.  AN, A. LOG,,  Solulk.  Oealiv.?  Compulini  iwd  KiVib*i»a  DYNACOMP  wft^arE  ha2  ako 
bera  choien  foi  dnncralralion  on  network  lekmioii,  Our  cunomer  luppon  ii  ai  clo«  ai  your  photic.  It  ii 
ahrari  friendly.  The  lult  u  hitlily  itamed  and  aJi^ayi  wiUin^  lo  dtsct;M  pfoducii  «■  i"^  advic*. 


50 


COMPUTE! 


July.  1982,  Issue  26 


Figure  1.  (cont'd) 


Bvie  index  =  0 


£ 


Bit  mask  index  =  7 


Inveri  next  bit  in  memorv 


CHKSUM 

(Catrulaie  new 
check-^um) 


nven  lesi  bit  in  new  checksum 


ERROR 
(Print  error 
informatiun) 


(  END  J 


^"  ^y^cv  checksum 

initial  checksum^ 


Invert  test  bit  in  memory 
(to  restore  it) 


Bit  mask  index  = 
Bit  mask  index  -  1 


Byte  count  = 
Byte  count  -  1 


B 


No 


Index  =  Index  +  I 


Base  address  = 
Base  address  +  256 


program  calls  CHKSUM  again,  to  get  the  checksum 
for  memory  with  one  bit  inverted,  and  inverts  that 
bit  position  in  the  checksum. 

This  invert  operation  should  make  the  new 
checksum  identical  to  the  initial  checksum.  If  the 
two  checksums  are  not  identical,  the  program 
terminates  by  printing  the  bit  position  and  address 
where  the  error  was  detected.  Otherwise,  the  pro- 
gram reinverts  the  current  test  bit,  to  restore  its 
original  state. 

The  remainder  of  the  program  involves  a 
series  of  three  counter/index  adjustment  opera- 


Figure  2:  Checksum-Calculating  Subroutine 
(CHKSUM) 


{  Surt  j 


Cycle  count  = 
Initial  byte  count 


Checksum  base  address  = 
Start  address 


Checksum  =  0 


Bvte  index  =  0 


Checksum  = 
Checksum  +  Next  bvte 


ndex  =  Index  +  I 


Ease  address  = 
Base  address  -f-  256 


Cycle  count  = 
Cycle  count  -  1 


Cycle       "\^   No 
count  =  0? 


Yes 


{  Return  J 


►  t 


if  you  spend  more  than  6.6  seconds 
of  your  valuable  time  reading  this  ad. 


YOU  NEED 


SpeedRead + 

•  optimized  Systems  Software,  the  company  that  brought  you  BASIC  A+  and  OS/A+,  proudly  presents 
another  "PLUS". 

•  SpeedRead+  is  the  world's  first  speed  reading  tutor  designed  for  use  on  your  persona!  computer. 

•  SpeedRead+  begirrs  with  training  your  eyes  and  mind  to  function  as  the  incredible  precision  machine 
they  were  meant  to  be. 

•  SpeedRead-^-  goes  beyond  mere  words  —  It  trains  you  to  recognize  phrases  and  columns  instantly  —  it 
exercises  your  peripheral  vision  —  it  increases  your  comprehension. 

•  SpeedRead+  matches  your  pace  —  now  and  in  the  future. 

AVAILABLE  NOW! 

For  16K  ATARI"  computers  with  disk,  Introductory  Price    $59.95 

Coming  soon  for  APPLE  II".  Inquire  about  availability  of  TRS-80"  and  cassette  versions. 

SEE  YOUR  DEALER  TODAY! 

Call  or  write  for  a  descriptive  brochure  of  SpeedRead+  "  and  other  fine  OSS  products,  such  as  OS/A+, 
BASIC  A+,  and  TINY  C". 


ATARI,  APPLE  II.  TRS-BO,  and  TINY  C  are  trademarks  of  Atari,  Inc..  Apple  Computer.  Inc.,  Radio  Shack,  and  Tiny  C 
Associates,  respectively.  Speedfleacf+  is  a  trademark  of  Eagle  Software  and  Optimized  Systems  Software. 

Optimized  Systems  Software,  Inc.,  10379  Lansdale  Ave,  CuperHno,  CA  95014,  (40S)  146-3099 


52 


COMPUTH 


July.  1982,  Issue  26 


tions,  with  each  followed  by  a  branch/no-branch 
decision.  In  the  first  of  these  operations,  the  bit 
mask  index  is  decremented;  if  it  is  nonnegative, 
the  program  branches  back  to  invert  the  next  bit. 
Otherwise,  the  byte  count  is  decremented;  if  all 
bytes  have  been  tested,  the  program  terminates, 
error  free.  Otherwise,  the  byte  index  is  incre- 
mented. The  byte  index  is  eight  bits  long,  and  can 
hold  values  from  0  to  255  (decimal).  If  the  incre- 
mentation caused  the  byte  index  to  overflow  to 
zero,  the  program  increments  the  high  order  byte 
of  the  base  address,  then  branches  back  to  reinitial- 
ize the  bit  mask  index.  Otherwise,  the  branch  takes 
place  with  no  change  to  the  base  address. 

Figure  2  shows  the  flowchart  for  the  checksum 
subroutine,  CflKSUM.  This  subroutine  is  called 
from  two  places  in  the  program:  (A)  it  is  called  at 
the  beginning  of  the  program,  to  calculate  the 
initial  checksum,  and  (B)  it  is  called  from  within 
the  main  loop,  to  calculate  a  new  checksum  after  a 
test  bit  has  been  inverted.  This  second  .source  of 
call  requires  the  subroutine  to  maintain  its  own, 
separate  byte  count  and  base  address,  so  as  not  to 
disturb  the  current  values  of  these  parameters  in 
the  main  program.  In  the  flowchart,  these  "working" 
parameters  are  labeled  cycle  count  and  checksum  base 
address,  respectively. 

To  start,  cycle  count  is  set  equal  to  initial  byte 
count,  checksum  base  address  is  set  equal  to  test 
start  address,  and  the  checksum  and  byte  index  are 
initialized  to  zero.  The  rest  of  the  subroutine  is  just 
one  big  loop.  In  this  loop,  the  checksum  is  accumu- 
lated, byte  by  byte,  with  intervening  index  and 
cycle  count  adjustments.  The  loop  is  terminated 
when  alt  bytes  have  been  processed;  that  is,  when 
cycle  count  has  been  decremented  to  zero. 

The  Test  Program 

Now  that  you  understand  the  criteria  of  the  pro- 
gram and  its  sequences,  we  can  look  at  the  program 
itself.  Program  1  shows  the  somce  code  for  the 
nondestructive  test  program,  which  was  flow- 
charted  in  Figure  1.  Note  that  before  executing  the 
program,  the  starting  address  must  be  stored  in 
locations  00  and  01  (00  holds  low  byte)  and  the 
ending  address  must  be  stored  in  locations  02  and 
03  (02  holds  low  byte). 

Besides  these  four  locations,  the  program  uses 
1 3  other  zero  page  locations,  as  working  storage. 
These  include  six  parameters  that  are  used  in  the 
main  program  —  initial  byte  count  (IBYTES),  byte 
count  (BYTES),  base  address  (BADDR),  initial 
checksum  (CSUM)  and  temporary  storage  for  the 
X  and  Y  registers  (SAVEX  and  SAVEY),  and  two 
parameters  that  are  used  in  the  checksum  subrou- 
tine, a  working  copv  of  the  byte  count  (CYCLES) 
and  a  checksum  base  address  (CBADDR).  Of  these 


parameters,  only  IBYTES  and  CSUM  remain 
unchanged  throughout  the  program;  all  six  other 
parameters  will  change  during  execution. 

Following  these  reserve  equates  come  three 
equates  that  reference  subroutines  in  the  AIM  65 
monitor:  CRLOW  initializes  the  display  and  printer 
to  their  START  posidons;  NUMA  prints  the  con- 
tents of  the  accumulator,  as  two  ASCII  digits; 
OUTPRI  sends  one  character  to  the  print  buffer. 
Other  6502-based  computers  have  equivalent 
subroutines. 

The  actual  code  that  follows  is  straightforward, 
so  you  should  have  no  problem  following  it  if  you 
studied  the  flowchart  in  Figure  1.  Some  readers 
may  wonder  why  I  chose  to  save  X  and  Y  in  zero 
page  (locations  SAVEX  and  SAVEY),  rather  than 
on  the  stack,  during  the  call  to  CHKSUM  in  the 
main  loop.  There  are  two  reasons  why  this  was  done: 

1,  The  instructions  used  to  save  X  and  Y  in 
zero  page  execute  eight  cycles  faster  than 
those  to  save  X  and  Y  on  the  stack  (12  cycles 
versus  20  cycles).  If  you  consider  that  for  each 
byte  tested,  CHKSUM  is  called  eight  times  - 
once  for  each  bit  position  -  saving  X  and  Y  in 
zero  page  saves  64N  microseconds  for  an  N- 
byte  test  run. 

2.  We  need  to  use  the  checksum  contents  of 
the  accumulator  upon  return  from  CHKSUM, 
and  a  pull  from  the  stack  (PLA)  always  loads 
the  stack  information  into  the  accumulator.  If 
the  6502  had  the  instructions  PHX,  PHY,  PLX 
and  PLY,  the  stack  would  have  been  the  likely 
place  to  hold  X  and  Y,  but  unfortunately  it  has 
no  such  instructions. 

Programmers  may  also  be  interested  in  the 
way  the  bit  masks  ate  accessed  by  the  EOR 
BMASK.X  instrucdons  that  follow  the  labels 
INVERT  and  NXTBIT.  The  bit  mask  table, 
BMASK  (shown  at  the  end  of  Program  2),  is  ar- 
ranged by  ascendinghii  position.  That  is,  the  mask 
for  Bit  0  comes  first,  followed  by  the  mask  for  Bit 
I,  and  so  on.  However,  this  table  is  accessed  in 
descending  order;  Bit  7  is  tested  first  and  Bit  0  is 
tested  last.  This  allows  us  to  initialize  the  bit  mask 
index  to  7  (LDX  #7  at  label  IBMSK),  then  decre- 
ment this  index  until  it  goes  negative.  Otherwise, 
working  with  a  descending  table  and  an  incre- 
menting index,  the  program  would  have  to  include 
a  CPX  #8  instruction  to  make  i;he  done/not  done 
branch  decision.  By  using  the  ascending  table  and 
decrementing  index  approach  we've  eliminated 
that  compare  instrucdon.  Since  the  CPX  #8  in- 
struction executes  in  just  two  cycles,  the  difference 
in  approaches  is  not  significant,  but  the  backwards 
access  is  a  handy  gimmick  for  your  programming 
bag  of  tricks. 


i 


i 


E 

■ 

ruLi 

rRi 

The  word  processing  package  that's  EA$Y  to  use 

Used  on  thousands  of  COMMODORES, the  micro 
computer  that's  EA$Y  to  operate   f^^? 

It's  EA$Y  to  $ell  and  only  sold  through  Dealers^ 


The  reasons  it's  7  ways  EAJfeY 


1.  Screen  layout  matches  printed  document. 


U'^t'M^:'^^'^- 


^c?onemiluoa,Oq 


^  / 


2.  Designed  for  stenographers  and 
secretaries  to  use. 

3-  Full  choice  over  horizontal  and 
vertical  spacing. 

4.  True  inter-character  proportional 
spacing. 

5.  Multiple-user:-  up  to  8  screens 
can  be  connected. 

6.  Full  text  communication  i 
between  Wordcraft  users         J 
with  automatic  error 
recovery. 

7.  Comes  complete  with 
comprehensive  manual  &   - 
self-pace  training  guide. 


FOR  INFORMATION,  SO  EA$Y  TO  WRITE  OR  CALL:  '         ,    ' 

WE$T  COA$T:  CIMARRON 

666,  Baker  Street,  EA$T  COA$T:  COMPUTER  MARKETING  $ERVICE$ 

Suite  319  300,  W.  Marlton  Pike, 

Costa  Mesa,  CA.  92626  Cherry  Hill,  N  J.  08002 

Telephone:    {714)6411156  Telephone:  (609)  795  9480 


54 


COMPUTEI 


July.  1982,  Issue  26 


Program  2  shows  the  code  for  the  checksum 
calculating  subroutine,  CHKSUM,  which  was 
flowcharted  in  Figure  2.  It  follows  the  flowchart 
closely,  and  needs  no  additional  explanation.  Pro- 
gram 2  also  includes  the  previously  mentioned  bit 
mask  table,  BMASK,  and  the  text  for  the  er- 
ror message. 

This  program  will  produce  one  of  two  mes- 
sages. If  the  test  memory  is  error  free,  the  message 
OKAY!  will  be  printed,  otherwise  an  error  message 
of  the  form  BIT  u  OF  LOG.  aaaa  will  be  printed.  In 
the  error  message,  the  bit  position  and  address  that 
are  printed  identify  the  bit  that  was  being  tested 
when  the  checksum  mismatch  occurred.  It's  po,ssi- 
ble,  of  course,  that  inverting  that  bit  actually  caused 
some  other  bit  in  the  memory  to  be  inverted,  due 
to  crosstalk,  so  the  printout  position  may  not  be  the 
actual  culprit.  One  way  of  finding  out  is  to  rim  a 
second  test,  starting  at  the  location  following  the 
printout  location;  that  is,  rerim  the  test  starting 
at  "aaaa+  1 ."' 


Execution  Times  For  The  Test  Program 

As  you  can  see  from  the  listings,  the  program 
occupies  slightly  less  than  a  page  of  memory;  to  be 
exact,  it  occupies  245  bytes.  Of  even  greater  signifi- 
cance, however,  is  the  amount  of  time  it  takes  to 
execute.  That  is,  the  amount  of  time  it  takes  to  test 
a  selected  portion  of  memory.  In  a  test  that  I  ran, 
the  program  took  just  over  foiu-  minutes  to  check 
out  a  1  K  portion  of  memory  (1024  bytes). 

At  Inst  I  suspected  that  somelliing  was  wrong 
with  the  program,  but  after  a  few  calculations  1 
became  convinced  that  this  was  indeed  a  respectable 
time,  in  light  of  what  the  program  was  doing.  First, 
consider  that  in  a  I  K  byte  test,  the  CHKSUM  sub- 
routine is  called  8193  times:  once  to  get  the  initial 
checksum,  then  once  more  for  each  of  the  8 192  bit 
positions  in  the  1024  byte  test  memory.  The 
CHKSUM  subroutine  takes  28  -t-  (29  x  N)  cycles  to 
calculate  the  checksum  for  an  N-byte  memory,  so  it 
takes  29,724  cycles  (microseconds)  for  a  1024  byte 
memory.  Cranking  out  the  math,  we  find  that  with 


Ixclusive-ORsAnd  Checlcsums 

An  exclusive-OR  is  a  logical  operation 
in  which  two  byte  operands  are  com- 
bined to  produce  a  result  byte  with  these 
characteristics: 

•  For  each  bit  position  in  which  the  oper- 
ands are  different  (one  is  logic  0,  the 
other  is  logic  I),  the  result  will  contain  a 

logic  1 . 

•  F(}r  each  bit  position  in  which  the  oper- 
ands are  the  same  (both  logic  0  or  both 
logic  1),  the  result  will  contain  a  logic  0. 

These  rules  can  be  summarized  as  follows: 


0000  1 1 1 1 

©  LOLO  1011 

1010  OiOO 


Contents  of  location  $40  =  $0F 
Contents  of  accumulator  =$AB 
Result  in  accumulator  =$A4 


Bit  Operand  #1 

0 
0 
1 
1 


Bit  Operand  #2  Result  Bit 

0  0 

1  1 

0  1 

1  0 


All  of  the  popular  8-bit  microprocessors 
have  an  exclusive-OR  instruction.  In  the 
6502,  it  has  the  mnemonic  EOR.  The  EOR 
instruction  operates  on  the  contents  of  the 
accumulator  with  an  immediate  value  or  a 
value  in  memory,  and  leaves  the  result  in 
the  accumulator. 

For  example,  if  the  accumulator  con- 
tains the  value  $AB  (where  $  denotes  hex- 
adecimal) and  location  $40  contains  the 
value  $0F,  the  instruction  EOR  $40  will 
produce  a  value  of  SA4  in  the  accumulator. 
The  binary  arithmetic  looks  like  this: 


Note  what  has  happened  here.  The  value 
$0F  in  location  $40  has  caused  the  four  low 
order  bits  (0  through  3)  to  be  inverted,  but 
has  left  the  four  high  order  bits  (4  through 
7)  intact. 

This  shows  one  of  the  primary  uses  for 
the  EOR  instruction:  to  invert  some  selected 
bits,  but  leave  all  other  bits  unchanged.  In 
fact,  the  test  program  in  this  article  uses  the 
EOR  instruction  to  invert  a  single  bit  in 
memory,  by  reading  the  appropriate  me- 
mory byte  into  the  accumulator,  then  exclu- 
sive-ORing  it  with  a  "mask"  value  that  has 
just  one  bit  set  to  logic  I .  To  invert  Bit  7, 
the  program  applies  a  mask  value  of 
100000002  (180);  to  invert  Bit  6,  the  pro- 
gram applies  a  mask  value  of  0  lOOOOOO.j 
($40);  and  soon. 

The  program  in  this  article  also  uses  a 
series  of  EOR  instructions  to  calculate  a 
checksum  value.  As  mentioned  in  the  article, 
the  checksum  is  the  exclusive-OR  of  all 
bytes  being  tested.  For  example,  if  locations 
$0400,  $0401  and  $0402  are  being  tested, 
the  program  will  perform  this  type  of 
operation: 


0010  noi 

1010  0011 

®0001  1000 

1001  Olio 


($0400)  =  $2  D 
($0401)  =  $A3 
($0402)  =  $18 
Checksum  =  §96 


July.  1982.  Issue  26 


COMPUTEI 


55 


8193  calls,  the  program  spends  about  4.06  minutes 
in  the  CHKSUM  subroutine! 

Since  the  program  is  spending  virtually  all  of 
its  time  in  the  CHKSUM  subroutine,  the  total 


execution  time  of  the  program  is  directly  dependent 
on  the  efficiency  of  this  subroutine.  If  any  readers 
have  suggestions  on  how  to  streamline  CHKSUM, 
I'd  be  happy  to  hear  from  them. 


Program  1 :  Source  Code  for  Nondestructive  Test  Program 

LINE*         ADDR         OBJECT  LABEL       SOURCE 


01-0010 

2000 

01-0020 

2000 

01-0030 

2000 

01-0040 

2000 

01-0050 

2000 

01-0060 

2000 

01-0070 

2000 

01-0080 

2000 

01-0100 

2000 

01-0120 

2000 

01-0130 

0000 

01-0140 

0002 

01-0160 

0004 

01-OlfiO 

0004 

01-0190 

0006 

01-0200 

0008 

01-0210 

OOOA 

01-0220 

OOOC 

01-0230 

OOOE 

01-0240 

OOOF 

01-0250 

0010 

01-0270 

0011 

01-0290 

0011 

01-0300 

0011 

01-0310 

0011 

01-0330 

0011 

01-0340 

0200 

38 

01-0350 

0201 

A5 

02 

01-0360 

0203 

E5 

00 

01-0370 

0205 

85 

04 

01-0380 

0207 

85 

06 

01-0390 

0209 

A5 

03 

01-0400 

020B 

E5 

01 

01-0410 

020D 

85 

05 

01-0420 

020F 

85 

07 

01-0430 

0211 

E6 

04 

01-0440 

0213 

£6 

06 

01-0450 

0215 

DO 

04 

01-0460 

0217 

E6 

05 

01-0470 

0219 

E6 

07 

01-0480 

021B 

20 

Bl 

01-0490 

021E 

85 

OE 

01-0500 

0220 

A5 

00 

01-0510 

0222 

85 

OA 

01-0520 

0224 

A5 

01 

01-0530 

0226 

85 

OB 

01-0540 

0228 

AC 

00 

01-0550 

022A 

A2 

07 

PAGE  0001 


02 


THIS  PROGRAM  PERPORMS  A  NONEiESTRUCTI VE  TEST 

ON  RAM  MEMORYr  BY  CALCULATING  A  SERIES  DF  CHECKSUMS, 

BEFORE  EXECUTING!.  STORE  THE  STARTING  ADDRESS 

AT  LOCS.  00  AND  01,  AND  THE  ENDING  ADDRESS 

AT  LOGS.  02  AND  03. 
IF  THE  TEST  IS  SUCCESSFUL!.  AN  'OKAY!"  MESSAGE 
IS  PRINTED,   OTHERUISEt  THE  BAD  BIT  POSITION 
AND  ADDRESS  ARE  PRINTED. 

USER-SUPPLIED  PARAMTERS 


START 
END 


)K=0 

*-)K+2 

>K--=*+2 


STARTING  ADDRESS 
ENDING  ADDRESS 


J  EQUATES  FOR  WORKING  STORAGE  IN  ZERO  PAGE 


IBYTES 

BYTES 

CYCLES 

BADDR 

CBADDR 

CSUM 

5AUEX 

SAUEY 


*=*  +  2 
*==*+2 
*=--*+2 
*=*+2 
*~*+2 

*:=*+l 

*==*  +  ! 


INITIAL  BYTE  COUNT 
BYTE  COUNT 

WORKING  COPY  DF  BYTES 
EASE  ADDRESS 
BASE  ADDRESS 
INITIAL  CHECKSUM 
TEMP.  STORAGE  FDR  X 
TEMP.  STORAliE  FOR  Y 


FOR  CHECKSUM  SUBR. 


REGISTER 
REGISTER 


S  AIM  65  MONITOR  SUBROUTINES 


CRLOW  =*EA13 
NOMA  =*EA46 
OUTPRI  =*F000 

*=$200 
SEC 


RESET  DISPLAY  S  PRINTER 
PRINT  Ar  AS  TWO  ASCII  CHARS, 
OUTPUT  A  TO  PRINT  BUFFER 


i    BYTE  COUNT  =  END  ADDR,  -  START 
ADDR,  +  1 


LDA 
SBC 
STA 
STA 
LDA 
SBC 
STA 
STA 
INC 
INC 
BNE 
INC 
INC 
6ETSUM  JSR 
STA 
LDA 
STA 
LDA 
STA 


END 

START 

IBYTES 

BYTES 

END+1 

START+1 

IBYTES+1 

BYTES+1 

IBYTES 

BYTES 

GETSUM 

IBYTES+1 

BYTES+1 

CHKSUM 

CSUM 

START 

BADDR 

START+1 

BADDR+1 


IBMSK 


LDY  *0 
LDX  #7 


CALCULATE  INITIAL  CHECKSUM 

AND  SAVE  IT  IN  MEMORY 
BASE  ADDRESS  =  START  ADDRESS 


BYTE  INDEX  =  0 
BIT  MASK  INDEX 


56 


COMPUTE! 


July,  1982,  Issue  26 


01-0560 

022C 

Bl  OA 

INUERT 

LDA 

(BADDR)rY 

01-0570 

022E 

5D  DF 

02 

EOR 

BMASKspX 

01-0580 

0231 

91  OA 

STA 

(BADDR) fY 

01-0590 

0233 

86  OF 

STX 

SAUEX 

01-0600 

0235 

84  10 

STY 

SAUEY 

01-0610 

0237 

20  Bl 

02 

JSR 

CHKSUM 

01-0620 

023A 

A6  OF 

LDX 

SAUEX 

01-0630 

023C 

A4  10 

LDY 

SAMEY 

01-0640 

023E 

5D  DF 

02 

EOR 

BMASKvX 

01-0650 

0241 

C5  OE 

CMP 

CBUM 

01-0660 

0243 

DO  39 

BNE 

ERROR 

01-0670 

0245 

Bl  OA 

NXTBIT 

LDA 

(BADDR) cY 

01-0680 

0247 

5D  DF 

02 

EOR 

BhASK^X 

01-0690 

024A 

91  OA 

STA 

(BADDR) .Y 

01-0700 

024C 

CA 

DFX 

01-0710 

024D 

10  DD 

BPL 

INVERT 

01-0720 

024F 

C6  06 

DEC 

BYTES 

01-0730 

0251 

E4  06 

CPX 

BYTES 

01-0740 

0253 

DO  02 

BNE 

BCNTO 

01-0750 

0255 

C6  07 

DEC 

BYTES+:l. 

01-0760 

0257 

A6  06 

BCNTO 

LDX 

BYTES 

01-0770 

0259 

DO  IB 

BNE 

INCIDX 

01-0780 

025B 

A6  07 

LDX 

BYTES+1 

01-0790 

025ri 

no  17 

BNE 

INCIDX 

01-0800 

025F 

AO  00 

LDY 

*0 

01-OBlO 

0261 

B9  70 

02 

OKLOOP 

LDA 

OKMSIjyY 

01-0820 

0264 

20  00 

FO 

JBR 

OUTPRI 

01-0830 

0267 

C8 

INY 

01-0840 

0268 

CO  06 

CPY 

♦6 

01-0850 

026A 

DO  FS 

BNE 

OKLOOP 

01-0860 

026C 

20  13 

EA 

JSR 

CRLOU 

01-0870 

026F 

00 

BRK 

01-0890 

0270 

20  4F 

OKhSG 

.BYT  '■  OKAY!' 

01-0910 

0276 

C8 

INCIDX 

INY 

01-0920 

0277 

DO  Bl 

BNE 

IBMBK 

01-0930 

0279 

E6  OB 

INC 

BADDR+1 

01-0940 

027B 

AC    2A 

02 

JMP 

IBMSK 

01-0950 

027E 

01-0970 

027E 

5  THIS 

ROUTINE  PRINTS 

01-0980 

027E 

f  AND 

!>DDRESS  AT  WHIC 

01-1000 

027E 

20  13 

EA 

ERROR 

JSR 

CRLOW 

01-1010 

0281 

AO  00 

LDY 

#0 

01-1020 

0283 

B9  E7 

02 

LOOPl 

LDA 

EMS6.Y 

01-1030 

0286 

20  00 

FO 

JSR 

OUTPRI 

01-1040 

0289 

C8 

INY 

01-1050 

028A 

CO  05 

CPY 

#5 

01-1060 

028C 

DO  FS 

BNE 

LOOPl 

01-1070 

028E 

8A 

TXA 

01-1080 

02BF 

09  30 

OR  A 

#$30 

01-1090 

0291 

20  00 

FO 

JBR 

OUTPRI 

01-1100 

0294 

B9  E7 

02 

LOOF'2 

LDA 

EMSG.Y 

01-1110 

0297 

20  00 

FO 

JSR 

OUTPRI 

01-1120 

029A 

C8 

INY 

01-1130 

029E 

CO  OE 

CPY 

«14 

01-1140 

029  El 

DO  F5 

BNE 

LU0P2 

01-1150 

029F 

A5  10 

LDA 

SAUEY 

01-1160 

02A1 

18 

CLC 

01-1170 

02A2 

65  OA 

ADC 

BADDR 

01-1180 

02A4 

48 

PHA 

01-1190 

02A5 

A9  00 

LDA 

#0 

01-1200 

02A7 

65  OB 

ADC 

BADDR+1 

01-1210 

02A9 

20  46 

EA 

JSR 

NUMA 

;  INVERT  NEXT  BIT  IN  MEMORY 


f  SAVE  X  AND  Y  IN  MEMORY 

r  CALCULATE  NEW  CHECKSUM 

p  RETRIEVE  X  AND  Y 

;  INVERT  TEST  BIT  IN  NEW  CHECKSUM 

f  NEW  CHECKSUM  =  INITIAL  CHECKSUM? 
y   NO,   PRINT  ERROR  INFO, 
i       YES,   INVERT  TEST  BIT  IN  MEMORY 


?   NO,   DECREMENT  BIT  MASK  INDEX 

y    BIT  MASK  INDEX  NEGATIVE? 

;   YES.   DECREMENT  BYTE  COUNT 


BYTE  COUNT  =  0? 


YES.   ALL  DONEk  UITH  NO  ERRORS 


f   NO.   INCREMENT  BYTE  INDEX 

y    BYTE  INnEX=0? 

;   YES.   ADD  256  TO  EASE  ADDRESS 


OUT  THE  BIT  POSITION 
^  THE  MISMATCH  OCCURRED 

;  RESET  DISPLAY  8  PRINTER 
f    PRINT  FIRST  PART  OF  TEXT 


f    PRINT  BIT  PATTERN 


y     PRINT  SECOND  PART  OF  TEXT 


5  ERROR  ADDRESS  =  BASE  ADDRESS  + 
INDEX 


r    PRINT  ERROR  ADDRESS 


July.  1982,  Issue  26 

01-1220   02 AC 
01-1230   02Ari 
01-1240   02B0 

68 
20 
00 

46    E.-A 


PL  A 
JSR 
BRK 


COMPUTfl 


NI.)MA 


S7 


5     RETURN    TO    MONITDFi: 


Program  2:  Source  Code  for  CHKSUM  Subroutine 

LINE*         ADEiR         OBJECT  LABEL       SOURCE 


01 

-1260 

02B1 

01 

-1270 

02B1 

01 

-1290 

02B1 

A5 

04 

01- 

-1300 

02B3 

85 

08 

01 

-1310 

02B5 

A5 

05 

01- 

-1320 

02  B  7 

85 

09 

01- 

-1330 

02B9 

AS 

00 

01- 

-1340 

02BB 

85 

oc 

01- 

-1350 

02  BD 

A5 

01 

01- 

-1360 

02BF 

85 

on 

01- 

-1370 

02C1 

A9 

00 

01- 

-1380 

02C3 

AO 

00 

01- 

-1390 

02C5 

51 

oc 

01- 

-1400 

02C7 

C8 

01- 

-1410 

02C8 

DO 

02 

01- 

-1420 

02CA 

E6 

on 

01- 

-1430 

02CC 

A  2 

FF 

01- 

-1440 

02CE 

C6 

08 

01- 

-1450 

02D0 

EA 

08 

01- 

-1460 

02D2 

DO 

02 

01- 

-1470 

0204 

C6 

09 

01- 

-1480 

02[i6 

A6 

08 

01- 

-1490 

02D8 

no 

EB 

01- 

-1500 

02DA 

A6 

09 

01- 

-1510 

02DC 

DO 

E7 

01- 

-1520 

02riE 

60 

01- 

-1550 

02BF 

01- 

-1570 

02DF 

01 

01- 

-1570 

02E0 

02 

01- 

-1570 

02E1 

04 

01- 

-1570 

02E2 

08 

01- 

-1570 

02E3 

10 

01- 

■1570 

02E4 

20 

01- 

■1570 

02E5 

40 

01- 

■1570 

02E6 

BO 

01- 

1590 

02E7 

01- 

1610 

02E7 

20 

42 

01- 

1620 

02EC 

20 

4F 

01- 

1630 

02F5 

ERRORS  = 

0000 

END    OF    ASSEMBLY    =    02F4 


PAGE  0004 


i    THIS  SUBROUTINE  ACCUMULATES  THE 
',    BY  EXCLUSIVE-ORINS  AI..L  BYTES 


CHECKGUHj 


CHKSUM 


ACCUM 


nECCYC 


CYCZ 


LP  A 
STA 
LDA 
STA 
LB  A 
STA 
LDA 
STA 
LnA 
LDY 
EGR 
INY 
BNE 
INC 
LBX 

nEc 

CPX 

BNE 

nEC 

LBX 
BNE 

Lnx 

BNE 
RTS 


I BYTES 

CYCLES 

IBYTEBil 

CYCLESil 

START 

CBABDR 

START+1 

CBADDR-f-l 

#0 

#0 

<CBADDR)  1 

DECCYC 

CBADDR+1 

**FF 

CYCLES 

CYCLES 

CYCZ 

CYCLES-H 

CYCLES 

ACCUM 

CYCLES+1 

ACCUM 


;  CYCLE  COUNT  :=  BYTE  COUNT 


>     BASE  ABDRESS  =  STAK'T  ADnREBS 


P  CHECKSUM  =  0 

?  BYTE  INDEX  =^'    0 

',  CHECKSUM  =■■    CHECKSUM  FOR  NEXT  BYTE 

;  INCREMENT  INDEX 

?  INBEX  =  0? 

;  YES.   ADD  256  TO  BASE  ADDRESS 

?  NO.   DECREMENT  CYCLE  CGUNT 


f    CYCLE  COUNT  =  0? 

5   NO,   GO  PROCESS  NEXT  BYTE 


5   YES.   RETURN  WITH  CHECKSUM  IN  A 


',    MASKS  USED  TO  INSERT  BITS  IN  MEMORY 
BMASK   .BYT  1 » 2r 4 c 8 y *10 y $20 ? *40» $80 


i    ERROR  MESSAGE  TEXT 


EMSO 


.BYT 
.BYT 
•  END 


BIT  ' 
OF  LOC. 


Q 


Dealers  -  Reserve  your  copies  of 

COMPUTEIs  first  Atari  and  PET/CBM  books 

today,  Call  919-275-9809  for  ordering  infornnation, 


58 


COMPUTEI 


July,  W82.  Issue  26 


A  simple  game  illustrating  a  most  sophisticated  topic.  The 
idea  0/  recursive  subroutines  is  one  of  the  more  complex 
notions  in  progrinnmiug-a  subroutine  which  is  its  oivn 
subroutine.  "Tonvrs  of  Brahma,"  a  child's  gnnie  with 
pegs  (nul  disks,  is  used  to  illustrate  how  recursion  works 
with  versions  here  for  FLU  and  Microsoft  (Commodore, 
Apple,  OSI)  and  Atari  BASICS. 

Recursive 

BASIC 

Subroutines 

Earl  Wuchter 
CatosauquQ.  PA 


Recursive  (adj):  of,  relating  In,  or  ronstiluting  a  procedure 
ihal  can  repeal  itself  indefniiteh.  or  iiiilil  a  specified  coudilion 
has  been  met. 

Subroutine  (n):  a  sequence  of  computer  instructions  for 
perfoniiiiig  a  specified  task  that  can  he  used  repeatedly  iu  n 
program  iir  in  differeul  programs. 

—  Webster's  New  Collegiate  Dictionary 

Used  together,  these  two  words  describe  one  of  the 
most  powerful,  and  most  fascinating  entities  in 
progranmiing,  but  it  is  a  rare  bird. 

Recursive  siiljroutines  ;>re  most  irsef  ul  in  com- 
piled languages,  but  are  seldom  allowed.  On  the 
other  hand,  an  interpreted  language  like  BASIC 
can't  help  but  allow  a  subroutine  to  reenter  itself, 
but  some  serious  ]iroblems  must  be  overcome 
before  the  technique  is  of  any  use. 

The  problem  with  BASK'  is  that  all  variables 
are  global.  (When  any  variable  is  changed  in  a  sub- 
routine it  is  changed  for  the  whole  program.)  To 
see  what  is  missing  in  BASIC,  look  at  a  f«// statement 
and  a  subroutine  statement  in  a  typical  compiled 
language.  The  variables  in  jjaren theses  are  called 
arguments  or  parameters: 

CALL  TRY  (A,X) 
SUBROUTINE  TRY  (A,Z) 

When  TRY  is  invoked,  A  and  Z  will  take  on 
the  values  of  A  and  X  from  the  calling  routine.  On 
return,  A  and  X  will  receive  the  values  of  A  and  Z. 
Even  though  both  routines  use  the  variable  A,  the 
A  in  the  calling  routine  will  not  be  changed  until  a 
rettn-n  is  executed.  The  status  (global  or  local)  oi 
other  variables  is  normally  up  to  the  progrannner. 

BASIC  subroutines  do  not  have  arguments. 
The  normal  programming  practice  is  to  have  the 


calling  routine  assign  values  to  subroutine  variables 
before  the  GOSUB  is  executed.  To  prevent  a  sub- 
routine from  inadvertently  affecting  any  other 
routine,  we  give  it  a  set  of  local  variables  by  using 
names  that  cio  not  appear  in  any  other  routine. 

A  Solution  to  Passing  BASIC  Variables 

Xow  you  can  see  the  problem  with  recursive  code. 
How  can  we  give  a  subroutine  a  set  of  \ariables 
that  are  different  from  those  in  the  calling  roiuine 
when  they  are  one  and  the  same  roti liner- 
There  is  a  solution.  We  can  create  an  array  of 
arguments  and  have  each  generation  of  the  sub- 
routine use  its  own  "'row"  in  the  array. 

The  Towers  Of  Brahma 

The  "Towers  of  Brahma"  is  one  problem  that  is 
best  solved  with  a  recursive  subroutine.  The  solu- 
tion, in  turn,  best  illustrates  the  capability  of  recur- 
sive code.  The  two  seem  to  have  been  made  for 
each  other. 

This  interesting  mathematical  problem  is 
often  found  disguised  as  a  child's  toy:  a  board  with 

Towers  of  Brahina 


three  pegs  and  four  or  five  disks  of  varying  diame- 
ters that  fit  on  the  pegs.  The  disks  are  initially 
arranged  on  the  fitst  peg  in  older  of  their  diame- 
ters, with  the  smallest  one  on  top.  They  are  to  be 
moved  one  at  a  time,  always  keeping  the  smaller 
ones  on  top,  luitil  they  are  on  the  third  peg. 

When  the  recursive  solution  to  this  problem  is 
coded  in  the  proper  language,  it  is  a  thing  of  beauty. 
A  PL/I  version  of  the  subroutine  is  shown  below. 
This  will  be  the  model  for  a  BASIC  version.  The 
main  routine  is  not  shown.  The  main  routine  simply 
inputs  the  number  of  disks  and  makes  the  initial  call: 

CALL  MOVE  (NDISKS,1,3); 

Note:  In  this  version  of  PL/1,  arguments  pa.ssed  iit 
as  expressions  bct:ome  dunnnv  argiunents  and  do 
not  change  anything  in  the  calling  routine.  Adding 
zero  to  a  variable  makes  it  an  expression  without 
altering  its  value.  This  feature  provides  for  ex- 
tremely compact  code. 

MOVE:  PROCEDURE  (N,F,T)  RECURSIVE; 
IF  N  =  0  THEN  RETURN; 
CALL  MOVE  {N-I,F  +  0,6-F-T); 
PUT  SKIP  DATA  (N,F,T); 


THE  ULTIMATE  RESIDENT  PROGRAM  MANIPULATION  SYSTEM  FOR  PET^/CBM™  MICROCOMPUTERS 


SO  COMPLETE, 
EVEN  THE  BEST  OF 
THE  COMPETITION 
DOESN'T  COMPARE! 


EXTENDED     DOS    SUPPORT 


®  [type  "N"  keyboi/d)  These  tomnandj  may  be  UMid 

<  (typt  "B"  ktYioird)  inlcrchmgj&IVj,  to  perform 

E  (original  keybDard)  I hc  following  dos  support 

>  (for ''wedge' uicrs]  functions. 

Commind  Function 

^  DiKriiv^is^  ttifut/ lend  command 

'ON  Format  (header)  a  new  difketfe 

0!  Force  initialize  diihctic 

9V  Validate  diiJtelTc  (colled) 

^D  Dupiitalcdi&kclls 

^C  Copy  or  toncatenate  disk  fjle[s)' 

$R  R«nam«  file 

93  Scratch  f  If  (il* 

®t  L««  directory* 

9U:  Retet  disk  drive 

iSL  Utt  dlik  file  Of  BASIC  program* 

*  Ad'ded'tnhantcd  disk  Command. 


EXTENDED     EDJTOR 


Commind  Function 

/  Quick  load  frnm  disk 

*  Quick  load  from  diik  iviih  auto  run 

APPEND  Append  from  disk  to  end  of  current  prograi 

AUTO  AuiD  line  number  (allowi  header) 

QLOAD  Load  machine  language  {binary)  frlc 

SRUN  Load  and  execute  machine  language  program 

CHANGE  Chang:e  pattern  ia  another  pattern 

CLOSE  Ooit  one  at  all  flics 

CMD  Set  output  10  filefdoetnol  send  ^READY.') 

DELETE  Delete  a  range  of  lines  from  proeram 

DUMP  Dump  all  scalar  variables  to  screen  w  file 

EXEC  Execute  a  file  as  keyt^oatd  commartds 

FIND  FindoCCuiani;esof  a  pa  Hern 

GET  Read  a  sequential  file  into  editor 

KEY  Define  a  key  a$  a  ipeciaJ  function 

KEYS  Turn  key  fu'^Ctions  on 

KILL  Disable  SYSRES" 

KILL"  Disable  SYS  RES"  and  unreserve  memory 

LIST  Improved  BASIC  LIST  command 

LOAD  Defaults  To  did  drive 

MERGE  Mer^e  from  disk  into  cir^enl  pro-am 

MON  Break  to  cufrent  machinE  language  monitor 

OLD  Restore  progi am  after  "NEW" 

PUT  Serid  pro-am  to  diik  as  t«Rt  f?le 

RENUMBER     Reriumbef  all  or  pij-t  of  program 

BUN  Run  cuffent  program,  ignorei  screen  garbage 

SAVE  Defairlls  lo  disk  drive,  allows  reprice 

SETD  Set  disk  device  ti,  allows  multiple  drives 

SETp  S«  I  pr inief  channel,  format  mode,  paging 

TRACE  Select  1  of  5  trace/step  mode*  and  speed 

VE  RrFY  Compa/e  crfreni  program  agaimi  disk/tape 

WHY  Print  pojiiion  of  last  error 

WHY>  Ltil  lifve  of  b.  cak  or  error 

■  Send  oaipot  lO  primer 

=*  Display  current  version  of  SYS  RES" 


COMPARE  SPECIFICATIONS! 


SYSRES"  POWER" 


Number  of  ADDED  commands 

33 

13 

Number  of  IMPROVED  BASIC  commands 

7 

none 

Number  of  DOS  SUPPORT  commands 

11 

none 

Approximate  added  syntax  options 

1200 

60 

instruction  manual  length 

86  pages 

75  pages 

Instruction  manual  style 

structured 

conversati 

Re-loactable? 

yes 

no 

Use  on  more  than  one  (any)  PET/CBM™ 

yes 

no 

Upgradable 

yes 

no 

SYSRES"  POWER" 


yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

yes 

no 

COMPARE  FEATURESI 

Automatic  printer  output? 

Selectable  ASCII  conversion? 

List  programs  without  loading  them? 

Formatted  program  listings? 

Dump  SEQuential/RELative  files? 

Edit  data  files? 

True  program  merge? 

Auto  number  with  AUTO  TEXT? 

Load  machine  language  programs? 

Auto-execute  machine  language  programs? 

Directory  (menu)  file  commands? 


COMPARE  "EQUIVALENT"  FUNCTIONSI 

Function:  Change  ocGurances  of  one  pattern  to  another. 

Feature  SYSRES"  POWER" 


Command  word 

'Wild  cards'  in  search  string? 

'Wild  cards'  in  replace  string? 

Selectable  range? 

Match  in  entire  text? 

Match  in  com  mands  only? 

Match  exact  variable  names? 


Function:  Define  special  one-key  functions. 

Feature  SYSRES"  POWER" 


Command  word 

Requires  BASIC  program  changes? 

Destroys  variables? 

Re-define  any  key? 

Maximum  string  length 

Quotes  and  carriage-return  allowed 

Re-define  any  token  key? 

Retain  user  keys  from  program  to  program? 


CHANGE 

@ 

yes 

yes 

yes 

no 

yes 

yes 

yes 

yes 

yes 

no 

yes 

no 

KEY 

REM 

no 

yes 

no 

yes 

yes 

no 

255 

73 

yes 

no 

yes 

no 

yes 

no 

J  UST  A  FEW  OF  THE  FEATURES  OF 
SYSRES" 

•  Fast  up/down  scrolling  which  worksl 

•  Advanced  repeat-key  routine! 

•  Re-define  any  or  all  keys  as  any  keyword 
(full  or  short  form)  or  as  any  string  up  to  255 
charactors  long! 

•  Auto  line  numbering  which  can  feed  a  string 
of  up  to  127  chirictors  as  well! 

•  Extended  DOS  support  (re^juires  DOS  2A  or 
greater)! 

•  Never  enter  another  file  namel  All  file 
com  nnands  work  from  the  directory! 

•  Supports  multiple  disk  drives! 

•  List  BASIC  programs,  sequential  and 
relative  files  without  loading  tliem  into 
memory! 

'  TRUE    PROGRAM   MERGE   (overlay). 
Supports  subroutine  libraries! 

•  Load  and  run  machine  language  programs 
with  parameter  passing! 

»  Supports  multiple  printers! 

•  Automatic  printer  output  with  paging  plus 
formatted  listings  with  full  ASCII  code 
conversion  including  cursor  control  and 
special  charactors  for  non-CBM"  printers! 

•  Edit  text  files  and  assembler  source  code 
without  leaving  BASIC! 

•  Renumber  part  of  a  program  or  even 
change  the  order  of  lines! 

•  Over  700  FINO/CHANGE  commands 
including  variable  names  ("A$"  wilt  not 
match  "BAJ"),  pattern  matching  with 
"wild-cards",  and  even  commands  to 
remove  spaces  and  REM's! 

"  Three  TRACE  modes  mcludirg  trace 
variables! 

'  Does  not  affec!  BASIC  program  operation! 

'One  AUTO-BOOT  l>ISKETTE  works  for 
ALL  PET"  or  CBM"  computers  (BASIC  2.0 
or  greater  with  at  least  16k  of  RAM.). 
SYSRES'  requires  NO  ROM  SPACE  or 
extra  boards^  so  you  can  take  It  with  you  if 
you  want  to  use  another  computer.  It  may 
be  put  above  the  screen  If  you  have  RAM 
there.  It  boots  automatically  without 
disturbing  any  program  in  RAM! 

'  if,  for  any  reason,  you  are  not  satisfied 
with  the  SYSRES"  system,  you  may  return 
it  along  with  any  back-up  disks  (within  30 
days)  for  a  full  refund.  Your  disks  will  be 
erased  and  returned  to  you. 
ni>kL'ttciinJ  EM[,'ii^ivt-  M.musil  -  itnly  59t 
(Please  specify  disk  drive  model  when 
ordering.) 


CALL  US  FOR  THE  NAME  OF  YOUR 
NEAREST  DEALER 


We  are  pleased  to  announce  the  aquisltion  of  the  author,  Don  Lekei,  and  the  rights  to  SYSRES"".  Don  is  now  hard  at  work 
producing  versions  of  our  STOCKFILE"  series  of  integrated  INVENTORY  CONTROL,  POINT  OF  SALE,  ORDER 


CANADA 
Tel:  (604)  984-0477 
#6, 144  West  15th  St. 
North  Vancouver,  B.C. 
Canada  V7M1R5 


ENTRY,    and    BILL  OF  MATERIALS  packages  for 

the  PET/CBM™  computers.  The  best  Inventory  control 
system  for  the  APPLE  ]  [ ""  will  soon  be  available  for  the 
CBM".  See  your  local  dealer  for  details! 

SYSRES"  is  a  trademark  of  Solidus  International  Corp. 

(POWER"  is  a  trademark  of  Professional  Software  Inc.' 


UNITED  STATES 
Tel:  (206)  734-3744 
#204, 4202  Guide  Meridian 
Bellingham,  WA 
U.S.A.     98226 


SOLIDUS  INTERNATIONAL  CORPORATION 


60 


COMPUTfl 


July.  W82.  Issue  26 


Brief  Definitions 


Some  of  Ike  terms  used  in  this  article  might  he  unfamiliar. 
Here's  a  short  description  of  the  main  ideas: 


CODE  —  Refers  to  the  statemenls,  ihe  lines,  or  the 

entirely  of  a  program,  as  in  the  phrase  "there's  an 
error  in  yom"  code  at  line  1 10."  Also  used  as  a  verb,  as 
another  word  for  programming:  "I'm  coding  a 
suiiroutine." 

COMPILED  LANGUAGE-  Unlike  BASIC  (an 
interpreted  language)  there  are  three  steps  to  getting  a 
program  to  run  when  you're  working  with  a  compiled 
language:  I .  Write  it.  2.  Compile  it.  3.  Run  it.  After 
you  write  the  program,  a  separate  program  called  a 
compiler  translates  what  you've  written  into  a  form  of 
machine  language.  This  residts  in  a  program  which  can 
then  be  executed  (nm). 

Some  examples  of  compiled  languages  are 
FORTRAN,  COBOL,  and  P17I.  The  lan'guage  the 
program  is  written  in  (step  I ,  above)  is  called  the 
source  lunguage  and  when  you  finish  typing  it  you've 
got  not  surprisingly,  ihe  source  program.  Step  2  is 
where  you  instruct  the  compiler  to  "examine"  and 
transform  the  source  program  into  an  exetittabk  (it 
can  be  executed)  program  called  the  object  or  target 
program. 

You  can  write,  easily  read,  and  easily  modify 
source  programs,  but  you  can't  run  llieni.  Object 
programs,  on  the  other  liand.  do  run,  but  they  are 
difficult  to  read  (they're  not  written  in  words  like 
PUT  IF  I  HEN  DECXARK,  but  rather  m  machine  oi 
as.sembly  language.) 

INTERPRETED  LANGUAGE -Step  2  (above)  does 
not  take  place  in  an  interpreted  language.  There  arc 
only  two  steps  to  writing  an  interpreted  language 
program  (BASIC  is  an  example):  I .  Write  it.  2.  RUN 
it.  However,  while  the  program  is  RUNning,  a  sepa- 
rate program  in  the  computer  is  "interpreting"  the 
meaning  of  words  like  PRINT  and  INPUT.  In  other 
words,  the  computer  slows  down  somewhat  white  the 
interpreter  decides  what  PRINT  means  and  just  what 
kind  of  PRINT  is  involved  (te)  the  screen,  the  printer, 
a  disk  filer).  Then  the  interpreter  sets  up  pointers 
and  flags  and  variables  and  momentarily  sends  control 
to  the  machine  language  subroutine  (in  a  library  of 
such  subroutines)  which  can  do  a  PRINT. 

All  of  this  translating  and  interpreting  is  going 
on  dining  the  RUN  of  the  program.  It's  obvious  why 
interpreted  programs  tend  to  RUN  more  slowly  than 
compiled  programs.  On  the  other  hand,  because  you 
can  write  it/RUN  it,  it  is  easier  to  test  jsarts  of  a  pro- 
gram immediately  and  make  the  necessary  changes  w 
the  program  itself.  Debugging  is  easier  siinply  because 


the  program  vou  write  is  the  same  program  that  vou 

will  RUN. 

PARAMETER  PASSING  -  This  generally  refers  lo 

the  ways  that  variables  are  made  available  to  several 
programs  at  once,  (or,  if  the  \ariables  are  local,  to 
several  parts  of  the  same  program  at  once).  For 
example,  if  the  variable  CASH  "holds"  15.98,  we 
might  want  to  "pass"  that  \alue  ( 1  .").9H.  the  parameter) 
to  another  program.  Some  computers  will  cancel  all 
variables  when  a  new  program  is  LO.'VDed  into  RAM 
inemoiy.  How  can  the  15.98  be  "passed"  to  the  new 
program? 

Likewise,  if  variables  are  local,  the  value  of  ('ASH 
will  be  different  in  subroutines  from  what  is  in  the 
inain  body  of  the  program  unless  1 5.98  is  "passed"  lo 
the  subiouiines. 

Passing  parameters  is  handled  in  different  ways 
depending  on  which  computer  or  language  is  being 
used.  C^ompiled  languages  often  allow  you  to  put  the 
variables  in  parentheses  on  the  same  line  as  a  C.\LL 
to  or  RETURN  from  a  subrotuine.  The  example 
CALL  SUBS  (CASH,  fOTAL)  pusses  the  values  of 
CASH  and  TOTAL  to  the  subroutine  SUB?>.  It  can 
later  pass  variables  hack  lo  the  main  routine  in  the 
same  way,  using  parameters  (also  called  argumeuls). 

PL/I  -  A  "high  level"  language  (as  opposed  to  lower 
level,  closer  to  machine  language)  which  combines 
attribiues  of  FORTRAN  and  COBOL. 

DUMMY  ARGUMENTS  -  Parameters  which  have 
no  effect  other  than  to  take  up  st)me  necessary  space. 
An  example  is  the  FRF.(  I)  statement  in  Microsoft 
basic;  where  the  value  within  the  parentheses  can 
be  anything.  It's  just  there  because  the  computer  will 
not  recognize  FRE(). 

NESTING  —  When  something  is  contained  bv  some- 
thing else.  FOR  I  =  I  FO  10:  FOR  |  =  I   lO  2:  NEX  F 
J:  NEX'F  I.  This  J  loop  is  said  to  be  «mW  within  the 
I  loop. 

STACK  -  The  computer  must  be  able  to  renietnber 
"return  addresses."  100  tiOSUB  r>00  will  turn  over 
control  to  whatever  is  on  line  .")()0,  but  e\entuallv 
there  will  be  a  RETURN.  So,  before  GOSUBbing. 
the  "address"  to  RE'FURN  to  is  |>ut  on  the  computer's 
.Kiack  and  later  pulled  off  the  stack  by  RETURN. 
There  is  a  limit  to  how  many  retiun  addresses  can  be 
pushed  on  the  stack.  Fhis  is  normally  no  problem 
since  most  subroutines  go  right  back  via  RE'I  URN. 
relieving  the  slack  ol  the  address  number.  Recursive, 
self-calling  subroutines,  however,  aren't  RETURNing. 
It's  GOSUB-GOSUB-GOSUB,  etc.  Unless  the  recur- 
sion is  carefully  managed,  the  slack  could  quickly  fill 
with  return  addresses  and  is  then  said  to  overfloie. 


f(  Skyles  Electric  Works 


Epson-PET/CBM  Graphic  ROM  Pack 

For  PET/CBM  Owners  Who  Want: 

Complete  Program  Listing  Printouts 
Complete  Screen  Grapfjic  Printouts 
Grapfiic  Printouts  From  Programs 

on  your  Epson  Printer 

Order  the  Skyles  Electric  Works  EPSON-PET  GRAPHIC  ROM  Package.  The  ROM  when  installed  in  an  EPSON  MXBO,  HXeOFT, 
or  MXlOO  with  Graftrax  Plus  printer  will  reproduce  most  of  the  PET/CBM  graphics  characters.  Most  importantly 
when  using  the  accompanying  high  speed  machine  language  program,  the  Epaan-PET  Graphic  ROM  pack  gives  a 
complete  program  listing  with  all  screen  controls  shown  (cursor,  home,  clear,  etc.).  This  high  speed  machine 
language  program  for  program  listing,  screen  image  printout  (screen  dumps)  and  BASIC  program  controlled 
printing  (i.e.  PRINT  )  automatically  translates  the  PET-ASCII  characters  to  the  EPSON-GRAPHIC  ROM  characters.  A 
BASIC  sample  program  and  PRINT  subroutine,  that  may  be  incorporated  into  any  existing  BASIC  program,  completes 
this  "complete  solution"  package. 

EPSON  HDOEL  ROM  MODEL 

MX7D  Not  Available 

MX80  (serial  no.  to  359999)  EPG8Q  (EPG82,  3  ROM  Version) 

MXBO  (serial  no.  after  360000)  EPG81  (EPG83,  3  ROM  Version) 

MXBOFT  EPcer 

MXeO  Graftrax  Not  Available 

MXBO  Graftrax  Plus  EPGaG+ 

MXBOFT  Graftrax  Plus  EPGaG+ 

MXIOQ  Not   Available 

MXIOD  Graftrax  Plus  EPG10G+ 

The  Epson-PET  Graphics  ROM  Pack  has  been  designed  to  furnish  you  with  PET/CBM  graphics  printing  in  the  easiest 
way  possible.  This  is  done  by  furnishing  a  high  speed  machine  language  program  that  is  "hidden"  at  the  top  of 
your  PET/CBM  memory.  =     3     r     ^  k 

The  machine   language  program  serves  3  major  functions. 

1:     Translates  PET-ASCII   code  to  ASCII   code  for  program  listing. 

2:      Translates  screbn  code   to  ASCII    code  for  screen  image  printouts. 

3:  Translates  PET-ASCII  code  strings  to  ASCII  strings  for  normal  program  printout.  This  feature  may  also  be 
used  for  making  ASCII    files  for  your  disk  or   tape   recorder. 

INSTALLATION:     installs  into  your  Epson  printer 

PRICE:      Epson-PET  Graphics  ROM  Pack    EPG80,  EPG81.  EPQ8F $75.00 

Please  specify  your  Epson  printer  model  type  and  and  serial  number  when  ordering. 
For  all  PET/OBM's  BASIC  2.0/Revlslon  3,  or  BASIC  4.0 

AVAILABILITY:      Immediately  from  your  LOCAL  DEALER 

or 

VISA,  MASTERCHARGE  ORDERS  CALL  (800)  227-9998  (except  California  residents) 
CALIFORNIA  ORDERS  PLEASE  CALL  (415)  965-1735 


—  231 E  South  WKisman  Road 

Skyles  Electric  Works  Mountain  view,  ca  94041 


(415)  965-1735 


62 


COMPUTEI 


July,  1982,  Issue  26 


CALL  MOVE  (N-l,6-F-T,T  +  0); 
END  MOVE; 

The  BASIC-  pifigram  has  arrays  for  variables 
N,  F,  and  T.  Variable  G  serves  as  the  index  to  liic 
arrays.  C)  represents  the  niniiber  of  nested 
GOSUBs.  Tlie  subroutine  inci'ements  G  on  eacli 
entry  and  decrements  it  on  each  return,  therebv 
keeping  count  of  its  cnvn  geneiatioii  nunii)er. 
Argiinieius  are  passed  to  the  next  general  ion  by 
putting  vakies  inio  the  arrays  at  (G+  I)  before  eacli 
GOSL'B.  The  variable  G  is  alwavs  the  ciurent 
subscript  for  anv  generation  oi'the  subroutine. 

This  method  ol' using  arrays  requires  that  you 
know  l)elbreliancl  uliat  the  inaxiimmi  nesting 
depth  will  be  in  order  to  dimension  the  arravs. 
This  numi^er  is  a  function  oi  the  problem,  but  niav 
be  limited  by  the  BASIC  interpreter. 

Solving  21  Disks  Would  Take  More  Than  Eight  Days 

The  program  rinis  in  less  than  2K.  The  iiiteinal 
stack  size  of  my  PET  restricts  the  mmiber  of  disks 
to  2 1 .  When  1  tr\  to  run  more  than  2  1  I  get  an 
"Olf  rOF  MF.MORY"  message.  Your  system  may 
allow  more  or  less,  but  don't  expect  to  run  this 
many  disks  t{)  completion.  Fhe  time  re(]uired  to 
complete  21  disks  (at  a  rale  of  approximately  three 
moves  per  second)  will  be  more  than  eight  days, 
and  one  more  disk  \vould  double  that. 

The  BASIG  program  here  shows  the  moves  to 
be  made,  along  with  a  plot  of  the  nesting  level 
made  down  ilie  left  side  of  the  screen.  Eacli  increase 
in  the  length  of  the  plotted  line  indicates  a  GOSL'B. 
Each  decrease  in  length  indicates  a  RETURN.  You 
can  see  a  more  detailed  view  of  the  process  by 
replacing  the  plot  with  a  printout  of  the  cinrent 
array  variables. 


39  N(G  +  1)=N(G)-1 

40  F(G  +  1)=6-F(G)-T(g; 

41  T(F+1)=T(F) 

42  GOSUB  31 

43  G=G-1 

44  PRINT  LEFT$ (P$,G} 
4  5  RETURN 


Program  2.  Atari  Version 

11  DIM  H<22>.F(22).T(£2>.P$(20> 

12  P$=" H 1 + h — " 

13  ■"'  "N  DISKS  (1  TO  2rV';:IHPUT  T^t-KIJ^T 

14  IF  T<1  OR  T>21  T^EN  13 

15  F(1>=1 

16  T(l>=3 

17  QKUB  31 
15  DCi 

31  G=G+1 

32  IF  G  1\€.H  ?  Pf<LG> 

33  IF  1KG)=0  T^B^  43 

34  tXG+l)=hKG:-l 
^  F(G+1>=F(G) 

36  T(G+l)=b-F(G)-TCb) 
3?  GOSUB  31 

38  ?  /'DISK  #";tKG);"  FROfl  ".:F<G>/'  TO  " 
jT(G> 

39  ^•KG+l)=f^(;G)-l 

46  F(G+i:'=€-F(G>T(G) 

41  T(G+i:=T(G) 

42  GOSUB  31 

43  G=G-1 

44  IF  G  T^€H  ■':  F'$<1.G> 

45  FfTURH  e 


Program  1.  Microsoft  Version 

10  REM  TOWERS  OF  BRAHMA  (RECURSIVE) 

11  DIM  N(22) ,F(22) ,T{22) 

12  P$  =  " + + + + — " 

13  INPUT"N  DISKS  (1  TO  21)  ";N(1) 

14  IFN(1)<1  OR  N(l)>22  THEN  13 

15  F(l)=l 

16  T(l)=3 

17  GOSUB  31 

18  END  ::::::::::::::::::::::: 

31  G=G+1 

32  PRINT  LEFTS (P$,G) 

33  IF   N(G)-0    THEN    43 

34  N(G+1)=N(G)-1 

35  F(F+1)=F{F) 

36  T(G+1)=6-F(G)-T(G) 

37  GOSUB    31 

38  PRINT    TAB(19) "DISK#"N(G) "FROM"F( 

G)  "TO"T(G) 


MEMOREX 

FLEXIBLE  DISCS 

WE  WILL  NOT  BE  UNDER- 
SOLOn  Call  Free  (800)235-4137 

for  prices  and  information.  Dealer 
inquiries  invited  and  C.O.D,  s 
accepted 


PACIFIC 
EXCHANGES 

100  Foothill  B!vd- 
San  Luis  Obispo,  CA 
93401.  InCal.  call 
(800)  592-5935  or 
(8051  543-1037 


-=  Santa  Cruz  Educational  Software  '  Tricky  Tutorials  *  Santa  Cruz  Educational  Software '  Tricky  Tutorials  *  Santa  Cruz  Educational  Software  *  Tricky 


u 
3= 


ATARI  (tm)  GRAPHICS  AND  SOUND  MADE  EASY! 


» 

«: 


SANTA  CRi;Z  EDUCATIONAL  SOFTWAflE  HAS  WRIHEN  A  SERIES  OF  AFFORDABLE  PROGRAMS  THAT  DEMONSTRATES  MANY  OF  THE  S 
SPECIAL  "TRICKS"  THAT  ONLY  THE  ATARI  400/800  COMPUTER  IS  CAPABLE  OF  DOING.  WE  OFFER  EVERYTHING  FROM  A  PROGRAM  ^ 
THAT  DOES  FANTASTIC  HIGH  HESOLUTION  GRAPHICS  TO  ONE  THAT  ACTUALLY  DIALS  YOUR  PHONE ^ 


S     ••••••••••••••••••••••••••••••••••••••••••••••••*•*•*••••*••    = 


MASTER  MEMORY  MAP(lm)  -  rh<s  is  really  Ihe  key  !o  us- 
ing the  ATARI'S  capattllties.  We  start  out  by  explaining 
tiow  10  PEEK  and  POKE  values  inio  memory  so  tfiat  even 
nev*  programmers  can  usettiis.  Ttien:  we  give  you  over  15 
pages  of  ttie  iriemory  locations  that  are  the  most  useful.  The 
information  is  condensed  from  both  the  ATARI 'S  Operaling 
System  Manual  anO  various  articles  and  programs.  It  is.  of 
course,  useful  even  (or  experienced  programmers  as  a 
reference.  Also,  we  highly  suggest  thai  dealers  offer  ttiis 
Memory  l\*ap  io  Customers  who  request  to  be  told  how  to 
'  use  the  power  of  Itie  machine.  We  guarantee  it  will  answer 
many  of  the  questions  you  have  atwul  the  machine, 

S6.95 

TRICKY  TUTORIALS(tm) 

i1:  DISPLAY  LISTS  —  This  program  leaches  you  how  to 
alter  the  program  in  Ihe  ATARI  that  controls  the  format  of 
Ihe  screen.  For  example:  when  you  say  graphics  8  the 
machine  responds  with  a  large  graphics  S  area  al  the  top  of 
the  screen  and  a  small  text  area  at  the  bottom.  Now,  you 
will  be  able  to  mix  the  various  modes  on  the  screen  al  Ihe 
same  time,  JusI  Ihink  how  nice  your  programs  could  looli 
with  a  mix  of  large  and  small  text,  and  both  high  and  low 
resolution  graphics,  this  program  has  many  examples  plus 
does  all  of  the  difficult  caluculations!  S19,95 

12:  HDRIZONTAL/VERITCAL  SCROLLING  -  The  inlorm- 
alion  you  put  on  Ihe  screen,  either  graphics  or  texl.  can  be 
moved  up.  down  or  sideways.  This  can  make  some  nice  el- 
lects  You  could  move  only  the  text  on  the  bottom  half  of  the 
'  screen  or  perhaps  create  a  map  and  then  move  smoothly 
over  it  by  using  the  joystick  S19.95 

#3:  PAGE  FLIPPING  -  Normally  you  have  to  redraw  the 
screen  every  time  you  change  the  piclure  or  text.  Now  you 
can  learn  how  to  have  the  computer  drawlhenexipageyou 
want  to  see  while  you  are  slill  looking  at  the  previous  page 
then  Hip  to  it  instantly.  You  won't  see  it  being  drawn,  soa 
complicated  picture  can  seem  Io  jusI  appear.  Depending  on 
your  memory  size  and  how  complicated  the  picture,  you 
could  Hip  between  many  pages ,  thus  allowing  animation  or 
other  special  effects  with  your  text,  J19.95 

#4:  BASICS  OF  ANIMATION  -  Shows  you  how  to  animate 
simple  shapes  using  Ihe  PRINT  and  PLOT  commands,  and 
also  has  nice  little  PLAYER/MISSILE  Graphics  demo  to 
learn.  This  would  be  an  excellent  way  to  start  making  your 
programs  come  alive  on  Ihe  screen.  Recommended  for  new 
owners  $19.95 

#S:  PLAYER  MISSILE  GRAPHICS  -  Learn  to  wnte  your 
own  animated  games  and  business  applications!  The 
Tutorial  begins  witti  many  small  examples  that  complement 
the  SO  page  manual,  then  gradually  builds  up  to  a  com- 
plete game  as  everything  you  need  to  know  is  explained 
fully.  Also  included  are  two  machine  language  routines  that 
you  can  use  to  animate  Players  from  Basic,  Next  we  in- 
clude one  of  the  best  editors  currently  available,  one  for 
Ptayfield  shapes,  and  one  for  Player  shapes.  All  of  the  ex- 
amples and  games  run  with  16K  Tape  or  32K  Disk.  The 
h«o  utilities  require  32K  to  run.  $29.95 


Tricky  Tutorials  (except  #5}  require  16K 
memory  for  cassette  orders  and  Z4K  for  disk. 
The  price  is  $19.95  each.  Tricky  Tutorials  §1 
to  6  in  a  notebook  cost  only  S99.95,  a  $30 
savings. 


THE  GRAPHI CS  MACHINE!  I  -  Turn  your  computer  into  an 
incredi  ble  graphics  tool  with  advanced  commands  like  ci  r- 
cle.box,  fill,  polygon,  line,  help,  etc,  3  colors  in  graphics  8 
with  instant  text!'!  Create  colorful  business  charts  or 
tieautilul  drawings  and  then  save  or  retrieve  them  from 
disk  in  5  SECONDS-  VES,  it's  that  fast  Needs  all  t8K. 
disk,  and  costs  SI 9.95 


MINI-WORD  PROCESSOR  -  This  Is  for  those  ot  you  who 
have  a  printer,  but  don't  want  to  spend  $100  or  more  tor  a 
fancy  word  processor.  It  is  suitable  fcr  simple  erJiting  of 
text,  accepts  most  control  characters  for  your  printer,  and 
text  IS  stored  on  disk  (or  easy  retrieval  Holds  2'h  typed 
pages  at  a  time.  Requires  32K,  disk  or  tape,  $19.95 

BOB'S  BUSINESS  -  t4  small  business  type  programs  (or 
home  or  olfice,  all  chosen  from  a  nice  menu.  Supports 
printed  output,  169  sectors  ol  output  require  16K  tape  or 
32Kdisk  S14.95 


KID'S  »1  -  Includes  the  lollowmg:  1)  TREASURE  - 
search  lor  the  lost  treasure  while  trying  to  keep  trom  (ailing 
into  the  sea.  Nice  graphics  il  you  lind  it!;  2(0IALOGUE  — 
talk  back  to  the  computer  about  (our  subjects:  3)  MATH 
QUIZ  —  Nice  musical  and  graphical  rewards  (or  good 
scores.  Parents  input  the  level  ot  difHculty 

KID'S  12  —  A  spelling  quiz,  a  "scrabble'  type  game,  and 
a  version  ol  Touch  with  llie  computer  giving  all  Ihe  direc- 
tions' Both  Kid's  programs  require  16K  tape  or  24K  disk 
and  cast  S14.95each 

MINI-DATABASE/DIALER  ~  This  unique  new  program 
stores  and  edils  up  to  8  lines  ol  intormation  such  as  name, 
address,  and  phone  numbers,  or  messages,  inventories  or 
anything  you  want.  It  has  the  usual  sort,  search,  and  print 
options,  but  11  also  has  an  unusual  feature  it  your  tiles  in- 
clude phone  numbers  and  you  have  a  touch-tone  phone. 
Ihe  program  will  DIAL  THE  PHONE  NUMBERS  FOR  VOU' 
This  is  perfect  lor  Ihose  who  make  a  lot  of  calls  like 
salesmen,  teens,  or  those  trying  to  get  through  to  busy 
numbers  (acts  as  an  aufo-redialerj.  It  is  also  a  lot  of  lun  Io 
use  Requires  tBK  cassette  or  24K  disk  and  costs  SZ4.95 

FONETONE  -  For  those  who  only  want  to  store  name  and 
phone  numbers  and  have  the  dialer  (eature  as  above,  we 
Oder  this  reduced  version.  Same  memory  requirements, 
but  only  costs  $14.95.  Don't  forget  you  must  have  a  touch- 
tone  phone. 

PLAYER  PIANO  —  Turns  your  keyboard  into  a  mini-piano 
and  mare.  Multiple  menu  options  provide  Ihe  ability  to 
create  your  own  songs,  save  or  load  data  liles  using 
cassette  or  diskette,  fix  or  change  any  ol  up  to  400  notes  in 
memory,  and  play  all  or  part  o(  a  song ,  The  screen  displays 
Ihe  keyboard  and  indicates  each  key  as  it  is  played  trom  a 
datafileorthenofesyauIypeYoudon'thavetobeamusi- 
clan  Io  enjoy  this  educational  and  entertaining  program. 
Requires  24K  cassette  or  32K  disk.  JT4.95 

BOWLERS  DATABASE  -  Provides  Ihe  league  bowler  with 
the  ability  to  record  and  retrieve  bowling  scores  providing 
permanent  records.  The  data  may  then  be  analyzed  by  the 
program  and  displayed  or  printed  in  summary  or  detail 
form.  Data  may  be  stored  on  cassette  or  diskette  and  up- 
dated quickly  and  efficienlly.  The  program  proivdes  such 
inlormation  as  highest  and  lowest  scores  by  individual 
game,  (lirsl,  second,  and  third  games  throughout  the 
season),  high  and  low  series,  current  average,  and  more. 
The  program  listing  and  documentation  provided  are  a 
tutorial  on  ATARI  basic  and  record  keeeping.  Requires  16K 
for  cassette  or  24K  for  disk.  J14.95 

*7:  DISK  UTIUTIES  TUTORIAL  -  This  Tutorial  both  offers 
you  several  programs  to  aid  in  the  use  of  your  810  Dis(< 
drive,  and  teaches  you  how  these  utilities  were  written  at 
the  same  time.  The  utilities  included  are  a  Menu  program, 
a  Disk  inspector  (look  at  sectors  on  the  disk),  a  Disk  Direc- 
tory printout  program,  a  Format  utility  to  quickly  format 
large  numbers  of  disks,  ant)  a  utility  that  allows  your  pro- 
grams to  start  njnning  by  just  turrjing  on  ihe  810 
(Autorun.sys).  Requires  32K  of  memory  and  costs  only 
S29.95 


» 

S 


#6:  SOUND  —  From  explaining  how  to  create  single  notes, 
to  demonstrating  complex  four  channel  sound  effects.  Ihis 
newest  tutorial  is  great  Even  those  experienced  with 
ATARI'S  sound  capabilities  will  find  the  menu  of  sound  ef- 
lects  a  needed  reference  that  can  be  used  whenever  you 
are  in  the  need  ot  a  special  sound  (or  your  programs. 
Everyone  will  learn  something  new!  Written  by  Jerry 
While  {19.95 


SANTA  CRUZ  EDUCATIONAL  SOFTWARE 
542S  Jigger  Dr. ,  Soquel,  CA  95073 

C.O.D.  Orders  call  (408)  476-4901  • 

'include  S3.00  postage  |$t.00  tor  Memory  Map)  '■ 

*ln  CalHornia,  include  6.5%  tax  I 

Visa  and  MasterCard  Accepted  j 
Santa  Cruz  Educational  Software  *  Tricky  Tutorials  *  Santa  Cruz  Educational  Software  *  Tricky  Tutorials  •  Santa  Cruz  Educational  Software  *  Tricky ' 


SEE  YOUR  LOCAL  DEALER 

on 

ORDER  FROM: 


64 


COMPUTE! 


July.  1982.  Issue  26 


o 


A  Monthly  Column 


Friends  Of  The  Turtle 


David  D.  Thornburg 
Associate  Editor 


A  Froctal  Of  My  Former  Self... 

As  I  was  going  lo  Si.  Ives, 
I  met  a  man  vviih  seven  wives. 
Each  wife  carried  seven  sacks; 
And  in  each  sack  was  seven  cats; 
And  with  each  cat  was  seven  kits. 
Kits,  cats,  sacks,  and  wives. 
How  many  were  going  to  St.  Ives? 

It  you  remember  this  puzzle  from  your  childhood 
you  probably  remember  that  the  answer  is  one. 

Well,  that  mav  nol  be  very  excititig;  but  suppose 
vou  arc  walking  to  St.  Ives  and  you  want  to  know- 
how  far  it  is  from  some  other  location  —  Here,  for 
example.  Tlie  first  thing  we  might  do  is  look  at  a 
map. 

From  the  tuap  we  see  that  St.  Ives  and  Here 
arc  both  coast  towns  located  near  bays.  In  between, 
the  coast  juts  out  to  sea. 

Figure  1. 


TT-^T  T^-TT. 


5T  . 


How  long  is  the  coastline  lieivveen  the  lowtis  ol 
Here  and  St.  Ives?  If  we  set  a  pair  of  dividers  to 
span  the  distance  between  the  two  tow^ns  we  get 
one  measurement.  This  distance  is  one  kilometer. 


Figure  2. 


51  . 


But  this  path  doesn't  take  us  along  the  coast.  If 
we  set  oiu-  dividers  to  measure  in  units  of  1/'^  of  a 
kilometer,  we  can  trace  a  path  which  more  closely 
follows  the  coastline. 


Figure  3. 


A 


/ 


I 


MERE 


5T  . 
IVE5 


By  cotuiting  each  1/'^  kilometer  increnicru  we 
can  see  that  this  path  is  4/S  kilometer  in  length. 
Next,  let's  .set  the  dividers  to  1/9  of  a  kilometer  and 
measure  the  distance  again. 


Figure  4. 


- 

A 

A 

A 

MERE 

IUE5 

This  looks  more  like  the  actual  coastline  and 
gives  us  a  distance  of  16/9  kilometers.  Since  we 
re])laced  each  straight  line  in  Figure  ?>  with  a  replica 
of  Figure  3,  we  can  see  that  the  length  of  the  coast 
in  Figure  4  can  be  written  as  4/3  *  4/3. 

Now  let's  set  the  dividers  to  1/27  of  a  kilometer 
and  measure  again. 


THE 

"^^  "^BIG  MATH 
ATTACK" 

Challenging  new  math  program  .  .  . 

Sharpen  your  skills  by  entering  the  correct  answer 

before  the  equation  'lands'  on  your  city!  Provides 

hours  of  educational  entertainment  "^-   PQW' 

Features: 

•  Full  color 

<  High  resolution  graphics 

<  Animation 

•  Sound 

>     Four  math  functions  (+,  ■.  X.  -^) 
m    Two  levels  for  each  function 
Recommended  for  grades  I  6.  Available  for  thie  ATARI  &  APPLE  IL 

ATARl  16K  (cass.) S20.00 

ATARI  24K  (disk)    S25.00 

Requires  ATARI  BASIC  cartridge 

APPLE  II  (disk)  DOS  3,2/3,3 525.00 

Requires  Applesoft  Basic  in  ROM. 

Ask  for  it  at  your  local  computer  store. 


or  order  direct: 


^.H.E.S.I.S. 

PO,  Box  147 

Garden  City.  Ml  48135 

{313)595-4722 


Please  add: 

SI  50  shipping  tiand:lintj 

51,50  CO.D- 
WRITE  FOR  FREE  CATALOG 
DEALER  INQUIRIE.S  WELCOME 


MICROMATH 

revolutionizes  the 

teaching  of  math! 


MicroMaih  is  itie  only  fuH.  one-semester  course 
of  Its  kind  in  NoMti  America  and  is  highly  praised  by 
instructors  who  use  it. 


Grade  8  to  Collsgs  Level 

MicroMatti  is  a  complete  review  mathematics 
course  rthictl  will  be  of  value  to  students  from  Grades 
to  college  level. 


93  Lessons,  16  Tests,  150  Page  Workbook 

Students  can  choose  trom  93  separate  lessons 
(eacli  with  pretest  and  lesson}  and  wor1<  comfortably 
at  ttieir  own  speed,  with  peers  or  individualiy.  Each 
unit  has  its  own  post-iest  and  ttie  entire  package  is 
suppiememed  with  a  ISO  page  wofktjook. 

Runs  on  COMMODOfiE  PET  16K  and  APPLE  II  + 
Versions  are  available  lor  all  DOS  formats. 


S500  for  Complete  Package 

A  demonstration  disk,  consisting  of  8  sample 
lessons  and  2  tests,  is  available  for  only  S25  (refun- 
dable upon  purchase  of  complete  package). 


For  more  Information: 

tVrire-  Mr.  e.H.  BangaY 
^m   SHERIDAN  COLLEaE 
Sw   Trafalgar  Road 


LOGO 


©M.I.T. 


Kreirs  LOGO  lor  APPLE  II* 
Includes:  our  new  low  price  and 

1.  Two  copies  of  Krell's  LOGO  for  Apple  II* 

2.  A  UTILITY  disk  containing  M.l.T.'s  extremely  valuable  dem- 
onstration material,  a  series  of  pre-defined  shapes  whicti  may  be 
substituted  for  the  LOGO  TURTLE,  and  Krell's  timesaving  library 
of  pre-defined  procedures.  ° 

3.  ALICE  IN  LOGOLAND,  a  twenty  program  tutorial  series  for 
intermediate  and  experienced  programmers  new  to  the  LOGO 
language. 

4.  The  technical  manual  LOGO  for  Apple  11*  by  H.  Abelson  & 
L.  Klotz.  This  is  the  official  tectinical  manual  issued  by  M.I.T. 

5.  LOGO  FOR  THE  APPLE  II*  by  Harold  Abetson,  Byte  Books.  A 
complete  instructional  manual  tor  intermediate  and  advanced 
users  of  LOGO. 

6.  THE  ALICE  IN  LOGOLAND  PRIMER,  a  step  by  step,  lavishly 
illustrated  introduction  to  LOGO  for  those  who  are  new  to  tiotli 
programming  and  to  LOGO,  (available  in  May  and  sent  free  to 
all  purchasers  of  Krell's  LOGO  for  Apple  II*). 

7.  A  comprehensive  wall  chart  that  portrays,  explains  and  graph- 
ically illustrates  the  LOGO  commands  in  action. 

8.  A  one-year's  tree  subscription  to  the  LOGO  &  EDUCATIONAL 
COMPUTING  NEWSLEHER.  (Regularly  S30.0D  per  year).  A  new 
authoritative  source  of  Information  about  the  structure,  classroom 
application  and  capabilities  of  LOGO,  plus  an  up  to  the  minute  forum 
on  the  most  significant  new  ideas  and  issues  in  educational 
computing.  $149.95 

College  Board  SAT*  Prep  Series 

TRS-80.  APPLE,  PET,  ATARI,  CP/M,  PDP-11  Based  on  past 
exams,  presents  material  on  the  same  level  of  difficulty  and  in 
the  same  form  used  in  the  S.A.T. 

S.A.T.,  P.S.A.T.,  N.M.S.Q.T.  -  Educator  Edition  set  includes 
25  programs  covering  Vocabulary.  Word  Relationships,  Reading 
comprehension.  Sentence  Completion,  and  Mathematics.  $229.95 
INDEPENDENT  TESTS  OF  SAT.  SERIES  PERFORMANCE  SHOW 
A  MEAN  TOTAL  INCREASE  OF  70  POINTS  IN  STUDENTS'  SCORES. 

GRADUATE  RECORD  EXAM  Series  -  Educator  Edition  includes 
2B  programs  covering  Vocabulary,  Word  Relationships.  Reading 
Comprehension,  Sentence  Completion,  Mathematics,  Analytical 
Reasoning. and  Logical  Diagrams.  $269.95 

Micro-Deutsch 

MICRO-DEUTSCH  set  Includes  24  grammar  lessons,  covering 
all  materials  of  an  introductorv  German  course  Four  test  units 
also  included.  Grammar  lessons  use  substitution  transform- 
ation drills,  item  ordering,  translations  and  verb  drills.  Drill 
vocabulary  based  on  frequency  lists.  Suitable  tor  use  with 
any  high  school  or  college  textbook.  Extensively  field  tested 
at  SUNY.  Stony  Brook.  APPLE*.  PET*.  S179,95 

Isaac  Newton  +  F.G.  Newton 

Perhaps  the  most  fascinating  and  valuable  educational  game 
ever  devised  -  ISAAC  NEWTON  challenges  the  players  to 
assemble  evidence  and  discern  the  underlying  "Laws  of 
Nature"'  that  have  produced  this  evidence.  Players  propose 
experiments  to  determine  il  new  data  conform  to  the  "Laws 
of  Nature"  FULL  GRAPHICS  NEWTON  •  presents  all  data 
In  graphic  form.  This  game  is  suitable  for  children.  Players 
may  select  difhculty  levels  challenging  to  the  most  skilled 
adults.  Both  Games  S49.95 


Krell  Software  Corp.      

"The  Slate  of  (he  Art  in  Educational  Computing" 

1320  STONV  BROOK  ROAD  ■  STONY  BROQK  NV  1I79U     rjlb!  Jb]  •j\:][i 

KrdI  SohTAarp  Carp  has  mi  nffi^^irt]  iii,^  wj(h  ihn  fdlt*^!-  f  nirdmf  r.namiOrtlnin 
Board  or  ihf  Kdurarinnal  Tpstiny  Sfn.-Mf  KreSJ  is,  h<»itrtVf,  <i  >uppli*i  ul  pntducl* 
lo  ihe  R  T  S  N  Y  S     rfsirf*'nls  sdd  iaips  fdx 

PROGRAMS  AVAILABLF  FOR  IMF.  TRSSO,  ^PFU    ]|.  PFT  &  ATARI 
'TradFmark%  i>t  Apple  Cump  Carp,  Tandy  C«irp  .  t  iiinniiKlnn'  Ciirp  .  Atfln  t  ofji 


66 


COMPUTE! 


July.  1982.  Issue  26 


Figure  5. 


differences  between  these  two  languages.) 
Apple  LOGO  Atari  PILOT 


-■V 


:     .".     .'        >.     .I'l. 


ST  . 

IWES 


I'his  brings  us  even  closer  to  the  coastline  and 
gives  us  a  distance  of  4/3  *  4/3  *  4/3  or  64/27  kilo- 
meters ~  more  than  twice  our  original  estimate. 

By  now  it  sliould  be  obvious  that  each  lime  we 
reduce  the  setting  of  our  dividers  by  1/3,  the  path 
lengtli  increases  by  a  factor  of  4/3.  If  we  were  to 
walk  along  the  coast  by  following  every  nook  and 
cranny,  the  distance  vv(nild  be  4/3  *  4/3  *  4/3  *  4/3  * 
4/3,...  etc.  In  other  words,  the  length  is  infinite. 

The  reason  for  this  is  that  each  part  of  ihc 
coastline  is  an  iidlnite  set  of  replicas  of  the  overall 
shape  slrown  in  Figure  3:  If  you  weie  U)  look  at  a 
high  magnification  view  of  the  coastline  it  would  be 
just  as  bumpv  as  a  lower  magnification  view. 

Real  coastlines  don't  have  infinite  lengths,  of 
course,  but  our  imaginary  coastline  does  becaii.se  it 
is  made  from  a  type  of  sell -similar  curve  called  a 
fractal.  Mathematical  exj^ressions  of  this  type  iiave 
been  known  for  some  lime  but  were  not  studied 
much  because  mathematicians  thought  their  prop- 
erties were  too  slrange.  For  an  insight  into  just  how 
stiange  ihese  functions  are,  you  might  want  to  look 
al  the  book  Fmrluls:  Form,  CJunicr,  and  Dhnnisioii  by 
Benoit  Mandelbrot  (Freeman  1977).  This  book 
discusses  the  pnjperlies  of  curves  such  as  the  one  I 
chose  for  the  imaginary  coastline.  This  function  is 
called  a  Triadic  Koch  curve  and  was  discovered  by 
von  Koch  in  the  early  19()()"s. 

Mandelbrot's  book  provides  an  interesting 
glimpse  of  this  strange  mathemadcal  world,  but  is 
quilc  frustrating  in  that  he  doesn't  sliow  the  reader 
how  to  express  these  curves  so  that  a  computer 
could  draw  them. 

Have  yoti  guessed  that  the  turtle  might  hold 
the  key  to  drawing  fractals? 

First,  let's  look  at  Figure  3,  since  this  is  the 
basic  building  block  from  which  all  tlie  other  curves 
are  made.  A  procedure  for  creating  this  figure  is 
shown  below  in  both  Apple  LOGO  and  .A.tari 
PILOT.  (This  also  lets  you  see  the  similarities  and 


TOFO     :SrZE 
FORWARD     :SIZE 
LEFT  60 

FORWARD     :SIZE 
RIGHT  120 
FORWARD     :SIZE 
LEFT  60 

FORWARD     :SIZE 
END 


*F0 

GR:  DRAW#A 
OR:  TURN -60 
GR:  DRAW#A 
GR:  TURN  120 
GR:  DRAW#A 
GR:  TURN -60 
GR:  DRAW#A 
E: 


li  you  move  the  turde  to  the  left  edge  of  the 
screen  and  turn  it  to  face  right,  then,  by  using  the 
procedine  FO,  a  replica  of  the  curve  in  Figure  3 
should  appear  oti  your  display.  For  a  line  length  of 
S 1  units  (a  good  size  for  Apple  LOGO)  you  would 
type  FO  81 .  In  Atari  PILOT  vou  might  want  to  u.se 
a  line  length  of  .'>4  units  (because  of  .screen  resolu- 
tion differences  between  the  Atari  and  Apple 
graphics).  To  do  this,  jusi  ivpe: 

C:  #A  =  54 
U:  *F0 

and  you  should  see  a  curve  similar  to  that  in 
Figure  3. 

Now,  what  about  F^igure  4"-'  In  our  coastline, 
each  straight  line  section  is  replaced  with  a  copy  of 
P'igure  3  which  has  been  reduced  by  one-third. 
Let's  call  the  procedure  lo  do  tliis  FL 

Apple  LOGO 


TOFl      :S1ZE 
FO     :SIZE/3 
LEFT  60 
FO     :SIZE/3 
RIGHT  120 
FO     :SIZE/3 
LEFT  60 
FO     :SIZE/3 
END 


Atari  PILOT 

*F1 

U:   *F0 

GR:   TURN -60 

U:   *F0 

GR:  TURN  120 

U:   *F0 

GR:   TURN -60 

U:   *F0 

E: 


Sup|v)se  we  next  want  to  draw  the  next  level 
of  this  ciuve.  All  we  need  Uj  do  is  create  a  copy  of 
FI  (called  F2)  in  which  references  to  FO  are  replaced 
bv  references  to  FL  Each  time  this  procedure  is 
used  it  will  use  F!  wliicii  will  use  FO.  II  \'ou  follow 
this  process  a  few  more  times,  you  might  make  a 
procedure  called  F20  which  uses  F19,  and  so  on. 

How  far  do  we  need  to  go?  If  our  original 
curve  (Figure  3)  u.sed  a  line  length  of  27,  for  exam- 
ple, then  each  line  should  be  9  units  long  for  Fl  ,3 
units  long  for  F2  and  I  unit  long  for  F3.  Since  ihe 
display  can't  show  lines  less  than  1  dot  long,  it 
hardlv  makes  sense  for  use  to  try  to  make  this 
cmve  wiili  anv  finer  resolution. 

In  a  future  column  we  will  show  how  LOCK) 
lets  you  create  these  curves  with  just  one  procedure. 
Meanwhile,  vou  can  test  vour  abilities  by  using  a 
different  figure  as  a  starting  pattern: 


July,  W82.  Issue  26 


COMPUTEI 


67 


Figure  6. 


Bcciuisc  ol'the  90  degree  turns  in  this  ligiire, 
those  of  yoii  uilli  VVSFN  will  also  be  able  lo  make 
this  fractal  cmve. 

Mere  is  llie  first  iirocediue  vou  will  need: 


Apple  LOGO 

Atari  PILOT 

TOFO     ;SIZE 

*F0 

FORWARD 

:SIZE 

OR: 

DRAW  #A 

LEFT  90 

GRr 

TURN -90 

FORWARD 

:SIZE 

GR: 

DRAW#A 

RIGHT  90 

GR: 

TURN  90 

FORWARD 

:SIZE 

GR: 

DRAW  #  A 

RIGHT  90 

GR: 

TURN  90 

FORWARD 

:SIZE 

GR: 

DRAW  #  A 

LEFT 90 

GR: 

TURN -90 

FORWARD 

:SIZE 

GR: 

DRAW  #  A 

END 

E: 

In  W'SI'X  von  would  create  the  proeedine  *A 


this  way: 

=  *A(F6Rr2RF2RF6RF) 

(You  might  want  lo  have  the  turtle  move  forward 
more  vvitli  each  ste)j  for  the  first  few  levels  so  you 
can  see  what  is  going  on  more  easily.) 

Here  is  what  you  should  get  for  your  final 
picture: 


Figure  7. 


Keep  experimeniing  with  (Jther  patterns  —  and 
lei  inc  know  how  you  are  doing. 


i'l'iciitls  i)j  tlir  riii/lc 

P.O.  Box  I  y  17 

Iju  .Mlfu.  CA  9f()22 


Good  news  for  kids  of  all  ages . . . 


Robby  looks  great  in  color. 


UOGIC 

Communications  Corp. 
713  Edgebrook  Drive 
Champaign,  IL  61820 
(217)  359-8482 
Telex:  206995 


SubLOGIC  is  pleased  to  announce 
the  release  of  4  new  programs  for  the 
Atari®  800™computer: 

AT-AG1  (arcade  game) 

ROBBY  THE  ROBOT  CATCHER 

Baby  robots  are  falling  from  the  skies.  Catch  them  if  you  can.  32K 

AT-FA1  (fantasy  adventure) 
ADVENTURE  ON  A  BOAT 

Go  fishing  for  points  in  the  waters  of  Fantasy  where  anything  can  happen.  32K 

AT-FA2 

GHOSTLY  MANOR 

Find  a  magic  key  lo  defeat  the  evil  spirits,  before  they  can  do  the  same . 
to  you.  32K 

AT-FA3 

THE  BLACK  FOREST 

Explore  the  Black  Forest  in  search  of  the  life-giving  waters  of  Amrita.  And 
beware  of  demons  along  the  way.  48K 

High  Quality,  Pure  Fun . . . 

for  anyone  who  is  young  at  heart.  S24.95. 


See  your  dealer. 


For  direct  orders  add  $1.50  and  specify  UPS  or  first  class  mail.  Illinois 
residents  add  5%  sales  tax.  Visa  and  MasterCard  accepted. 


68 


COMPUTEI 


July,  1982.  Issue  26 


How  to  uwvc  and  rotate  objects  on  screen.  These  ideas  toe 

adaptable  la  many  computer  frrafihirs  jiroblems  and  can 
case  llic  task  of  creating gatncs,  simulatious,  etc.  An  Atari 
and  Camtiiodorc  version  are  presented  as  complete  pro- 
grams and  the  author  describes  the  modifications  necessary 
Jor  other  computers. 


Screen 
Graphics 


Ian  Pouil 
Rochester,  NY 


Many  computer  sinnilat  ions  and  tranics  use  lijraphics 
lo  represent  a  mathematical  event  or  model  in  the 
piogram.  In  a  lunar  lander  program,  for  example, 
(he  lander  position  is  first  ealeulated  bv  the  model 
(taking  operator  input  into  ac  fount)  and  then 
displayed.  Anoilicr  simulaiion  niigiil  cakulaie  Itovv 
a  machine  or  robot  should  be  responding  to  com- 
puter control,  and  then  graphically  displa\  this 
infornialion. 

I'rograms  of  these  general  ty]>es  can  benefit 
(torn  graphics  routines  which  can  illustrate  an 
object  at  any  location  on  a  video  screen  (translation) 
and  at  any  angle  (rotation).  The  BASIC  program 
presented  here  uses  a  2;")  x  40  screen  area  to  displav 
a  user-generated  figure  at  any  location  and  angle 
thai  the  screen  can  re[)reseiil. 

The  screen  is  treated  as  an  X  Y  coordinate 
system,  with  the  X  axis  running  from  left  to  right, 
the  \'  axis  running  from  lop  lo  boliom,  and  the 
origin  (0.0)  located  at  the  uppei'  left  ctjrner.  (See 
Kigin-e  1.)  The  plotting  routine  is  the  main  section 
which  can  be  mociified.  Hi"iefl\\  line  1 060  clears  the 
screen.  Line  lOSO  computes  the  metnoiy  adch"ess 
to  be  POKPxI.  from  the  X  and  Y  values  comptited 
elsewhetc.  The  I'OKF.d  adflress  is  the  screen  posi- 
tion which  will  be  tuined  on.  Line  1090  insiues 
that  only  points  on  the  screen  will  be  POKKd.  This 
line  iTiay  i:)c  deleted  for  slightly  faster  running  lime 
ilvou  are  sure  lo  always  remain  on  screen. 

Lines  1070  lo  I  1  10  form  a  loop  that  plots  all 
points  in  the  figure  lo  be  displayed.  For  computers 
with  continuous  memory  mapped  display,  you  mav 
need  to  change  ihe  values  of  SS  (screen  slart  ad- 
flress), SL  (screen  end  address),  RL  (row  length), 
and  the  character  code  lor  a  completely  lit  cell  (100 
ior  Ihe  PKf,  line  1  100).  The  I'LL  can  supi)orI 
greater  resolution  (50  x  80)  with  additional  sofi- 
wai-c.  re]iiacing  the  PLOL  subroutine.  (See  refer- 


ences I  and  2.) 

Visible  Errors 

Xote  ihai  flue  to  t lie  coarseness  of  the  displav, 
rolaled  lines  will  often  ap|)ear  war[jed.  I'his  is 
because,  with  only  a  limited  number  of  points  on 
the  screen  to  choose  Irom,  ihe  computer  must  pick 
points  as  close  as  it  can  to  the  spot  where  ihe  point 
should  go.  often  resulting  in  visible  error.  This 


The  ten  point  example 

does  one  rotation  in  little 

more  than  one  second. 


program  is  thoroughly  REMarked,  so  the  u.ser 
.should  have  little  rlifficuliv  changing  or  omitting 
stalemcnls  lo  suit  his  particular  needs  or 
computer. 

The  subroutines  actually  doing  the  graphics 
manipulations  begin  at  line  830  for  rotation  and 
970  for  translation.  Since  translation  is  simpler, 
let's  look  at  it  firsi. 

In  moving  a  point  from  one  spot  on  a  gra]jh  lo 
another,  the  X  and  Y  processing  can  be  handled 
separately.  (Sec  Figure  2.)  In  i ravelling  from  point 
X|),  Y|),  to  X|,  Y|,  the  difference  in  X  (shown  as 
AX)  is  simply  added  lo  X,,,  and  ihe  difference  in 
Y,  a  negative  value  in  this  example  (shown  as  AY), 
is  added  to  Y().  For  this  single  poinl  iranslalion, 
then: 

X,=Xo  +  AX 
Y,=Yo+AY 

Subroutine  970  performs  these  additions  for 
each  Iranslalion  of  X  and  Y,  for  each  point  in  the 
figine,  and  replaces  ihe  old  X  and  Y  values  for 
each  point  with  the  new  values.  It  al.so  keeps  a 
running  total  on  the  X  and  Y  translation,  lo  be 
used  in  the  Rotation  subroutine.  Also,  the  Plot 
routine  is  called  here  to  display  the  new.  translated 
points. 

'Lhe  Rotation  subrouline  at  line  S;^0  is  more 
complicated.  Lhe  relationship  between  an  existing 
poinl  (X,i,  Y(,)  and  the  new  computed  point  (X,, 
Y])  can  be  expressed  as: 

X|  =  Xq  cos  (a)  -  Y(,  sin  (a) 
Y,  —  X„cos  (a)  +  YqCos  (a) 

where  a  is  the  angle  of  rotation.  For  details  on  the 
derivation  of  these  relationships,  see  reference  3. 

The  Method  Of  Rotation 

'Liie.se  equations  describe  rotation  ol  a  point  about 
the  origin.  On  initial  entry  of  data  for  the  pattern 
to  be  displayed,  coordinates  are  chosen  so  the  axis 
of  rotation  is  at  the  origin.  Then,  if  we  later  wisli  to 


the  battle  for  the  moons  of  Jupiter 


Blast  your  way  through  the  alien  mine 

fields!  Defend  the  moonbases  from  an 

attacking  alien  armada!  It  won't 

be  easy.  To  win  you  will  need  to 

mount  a  heroic  assault  on  the 

alien  mother  ship. 

Moonbase  lo  combines  three 
exciting  arcade  adventures  in 
one  exciting  game.  The  machine- 
language  program  by  John 
Konopa  uses  advanced  graphics  and 
sound  effects.  Action  is  fast  and  exciting  — 
varying  levels  of  skill  required  to  go 
from  one  part  of  the  game  to  the  next. 


BEYOND  software's  arcade- 
adventures  are  the  next  generation  in 

computer  games  for  the  ATARI® 
computer.  A  voice-activated 
program  will  help  you  meet  and 
overcome  the  challenge  — it  may 
be  an  alien  invasion,  a  fiendish 
murderer  preying  on  a  country 
village  or  a  treasure  trove  buried 
deep  in  the  shark-infested  sea. 

Moonbase  lo  is  available  at  fine 
computer  dealers.  Or,  directlvfrom  PDI 
for  $29.95  plus  $2.00  shipping  and 
handling. 


Requires  24K  ATARI®  computer  with  disk  and  cassette. 
Cassette  version  available  soon. 


Program  Design,  Inc.,  11  Idar  Court,  Greenwich,  CT.  06830    203-661-8799 


ATARI'"  i^  a  rcgisit-rfd  tradtmark  of  Atari.  |nc 


CALL  TOLL  FREE 

800-424-2738 


u^r> 


ATARIA 


PROGRflm 
/TOR€~ 


From  Synapse  (C] 

TTiere's  trouble  in  the  barnyard,  and  this  machine- 
language,  arcade  game  will  challenge  even  the  most 
experienced  arcade  player.  You  try  to  help  Ma  Hen  save 
the  eggs  and  chicl<ens  from  the  wi  ly  fox.  The  action  gets 
faster  and  faster  as  eggs  turn  into  chicks,  feathers  fty, 
chickens  squawk,  and  ali  bedlam  breaks  loose.  You'll 
rsaliy  have  to  think  fast  to  outwit  this  fox. 


FROGGER 


REAR 
GUARD 


From  On  Line  Systems 

Based  on  arcade  game  Frogger.  Dodge  traffic  and  Jump 

the  moving  logs  in  the  stream  to  get  home.  Fantastic 

graphics. 


16KTape $|»^    ^a'y<.^%/  <8KTapeorDlsk ^^  ^yaA^^%f 

NOWTHROUGH  AUGUST  1  ONLY: . . .  PAY  JUST  S2a96         NOWTHROUGH  AUGUST  1  ONLY: . . .  PAY  JUST  S27.96 


By  Neil  Larimer  from  Adventure  I  nt. 
Aspace  bailie  be  tweenyourcrulserandwave-after-wave 
of  enemy  ships.  You  can  destroy  them  with  your  energy 
darts  or  you  can  ram  them — as  long  as  your  shields  are 
intact.  The  action  takes  place  on  a  continuous  horizontal 
landscape,  You  control  the  altitude  and  speed  of  your 
craft  as  you  pursue  the  enemy.  Skill  level  1  is  excitina 
and  there  are  four  more  levety  available.  <?.         -^ -,  sf  / 

tSKTape tj>«6  ,yU^^/i( 

NOWTHROUGH  AUGUST  1  ONLY: . . .  PAY  JUST  J1S,96 

24KDis)( S^^ 

NOWTHROUGH  AUGUSTI  ONLY  . . .  PAY  JUST  J19.96 


LANGUAGE 
TEACHER 


By  Cindy  and  Andrew  Bartonllo  from  Acorn 
Learn  the  basics  of  a  foreion  language.  LANGUAGE 
TEACHER  offers  hundreds  of  word  combinations,  verb 
conjugations  and  phrases.  There  is  an  option  for  having 
multiple-choice  answeis  and  for  being  netested  on 
missed  items.  Full  printer  capability  and  a  great  deal  of 
"human  engineeririg"  further  enhance  ttie  pnDgrama. 
Teachers  v/iil  appreciate  the  ample  documentation  arA 
the  ability  to  get  printouts  of  quizzes.  Cun-ently  avaliabie 
languages  are:  French,  and  Spanish.  Italian  &  Gemun 
available  soon. 

32KOisi<s $29.95  for  each  program. 


By  Bill  Budge  from  Budgeco 

An  exciting,  challenging  Video  pintiail  simulation  game 
for  from  one  to  fouf  players.  You  get  adva/icatf  game 
leatums  found  only  In  stateof-the^rt  electromechanical 
pinbali  machines.  There's  full  coior  graphics,  animation 
and  sound  effects,  seeming  to  occur  simultaneously. 
Choose  from  "Easy"  or"Hard"  games.  Grea!  Graphics! 

32KOisk 


TEMPLE 
OF 
APSHAI 


From  Autonrated  Simulalions 
The  first  of  the  DujonOyest  series,  and  sliit  one  of  the 
most  popular.  In  exploring  over  200 rooms  In  the  magical 
labyrinth,  you  will  encounter  more  Ihan  30  kinds  of 
fearsome  monsters  guarding  over  70  treasures.  Some  of 
the  treasures  will  help  you  in  your  quest,  but  you  must 
still  watch  out  for  the  nnany  monsters  and  traps  that 
spring  out  from  the  walia  and  shadows. 
32KTapeorDt3k $29.95 

SpeedRead^ 

From  Optimized  Systems 

Improve  your  reading  speed  and  comprehension  at 
home  with  a  shori  practice  session  eacit  day.  Offers  4 
modes  for  reading:  (1)  Single  phrase  for  developing 
phrase  recognstion  at  high  reading  speed;  (2)  double 
phrase  recognition  at  high  speed;  (3)  random  phrase  for 
peripheral  vision;  (4)  column  phrase  for  newsptapers  and 
magazirves.  Start  a!  Iieglnnlng  level  and  proceed  St  your 
own  pace.  Choice  of  3  classical  texts. 

ISKDiSk S59,96 


By  Warren  Schwader  &  Ken  Wllliams 
You,  alone,  can  save  the  Earth  Federation  from  the 
lawless  atiens  who  roam  our  galaxy,  Not  Only  have  these 
invaders  been  attacking  our  home  planet—they're  aiso 
raiding  our  space  colonies!  Space  travel  has  become 
Increasingly  dangerous,  as  has  friendly  trade.  But 
supplies  must  go  thnaugh.  As  the  pilot  of  the  Federation 
fighter  THRESHOLD,  it's  all  up  to  you!  High  resolution 
graphics  and  sound  plus  "save  the  game"  feature. 

40KDisk $39,95 


An  InteriogicfTM)  Adventure 

Your  greatest  adventure  awaits  you  in  the  GiBat 
Underground  Empire  of  Zork  !  You'll  face  perils  and 
puzzles  as  you  try  to  escape  from  Zorlc  I  wilh  the  Twenty 
Treasures  and  your  life.  You'll  experience  challenges  In 
their  most  realistic  sense— you  can  communicate  In 
complete  seirfences  with  the  largest  vocabulary  and 
range  of  command  optkms  anywhere.  Challenges 
change  as  you  make  your  rjwves.  Beware  mysterious 
obiects  and  beware  the  Thlefi  "Save  the  game"  feature. 

32KDIsk $39.95 

Zork  II  also  available  $39.95, 


CONTROLLER 


DEADLINE 


^nmvmm'im 


An  Infoeom  (TM)  Adventure 

You  have  only  12  hours  to  solve  the  mystery  of  the  dead 
man  and  the  locked  door—or  the  killer  wilt  strike 
agaln...and  this  time,  you  may  be  the  victim!  Working 
from  an  actual  dossier  on  this  clever  and  baffling  critrve, 
you  must  piece  together  the  many  clues  and  watch  out 
for  the  suspects— one  of  Ihem  Is  the  killer!  Use  complete 
sentences  and  more  than  600  worris  of  vocabulary. 
"Save  the  game"  feature. 


32K, 


.$49.95 


From  Microcomputer  Games  (Avalon  Hill) 
you  are  the  air  traffic  controller  who  must  make  quick 
decisions. ..or  you  might  cause  a  mid-air  crash  and  lose 
hundreds  of  lives!  Ali  actions  are  in  REALTIME— aircraft 
will  maneuver,  use  fuel  and  respond  to  your  commands 
as  a  real  piane  would— the  computer  won't  wait  for  you. 
Aln;raft  are  plotted  on  realistic  "radar  scope."  Heading, 
velocity  and  altitude  displayed  on  separate  chart.  Select 
up  to  8  planes:  choose  from  3  types  with  3  levels  of 
difficulty. 

WKDtsk $29.95 


POOL  1.5 


By  Hoffman,  St  Germain  &  Morock  fnsn  IDS 

A  remarkable  actton-almulatlon  of  the  real  thing,  this 

program  allows  full  contn^i  of  your  "cue-stick"  for 

english,  aim  and  control  Play  four  different  types  of 

pool  at  your  choice  of  table  speed,  whh  "instant  replay" 

of  any  shot!  HI-RES  color  graphics  are  used  throughout 

this  reaMime  game. 

48KDisl( $34-96 


Visit  our  other  stores;  Seven  Comers  Center  •  Falls  Church,  VA  &  W.  Bell  Plaza  •  6600  Security  Blvd.  •  Baltimore,  MD 


QS  TO  ORDER  CALL  TOLL  FREE  800-424-2738   caii  (202)  ses'sTg? 


THE  PROGRAM  STORE 

4200  Wisconsin  Avenue,  NW,  Dept.  U207  Box  9609 
Wasliington,  D.C.  20016 


MAIL  ORDERS:  Send  check  or  M.O.  for  total 
purchase  price,  plus  $1.00  postage  &  handling. 
D.C,  MD.  &  VA,:  add  sales  tax.  Charge  cards: 
include  all  embossed  infonnation  on  the  card. 


Qet  the  most  from  your  micro  with 
software  and  accessories  from  one 
of  the  worid's  largest  selections. 


/Pi 


X 


GALACTIC 
CHASE 


Fram  Spectmm  Computers 

An  all  machine  language  arcade  game  that  combines 
ctiallenging  play  with  great  graphics  and  sound.  Insect- 
like  alien  ships  form  ranks  above  you,  moving  back  and 
forth  as  (hey  ready  their  assault,  Suddenly  they  start 
breaking  formation  to  swoop  down  on  you,  the  lone 
defender.  Fight  them  off  witli  swiff  missies...un!ii  their 
invisible  ray  slows  your  missiles  down.  May  be  played  by 
1  or  2  players,  with  two  skill  levels. 


leKTape , 


.^fle 


32KDisk. 


■  ^^ 


THE 
PROGRAM  STORE 

Summer 

Arcade 

Madness 


ACTION  QUEST 

From  JV  Software 

You  are  the  ghost  of  the  mansion  In  tills  arcade 
adventure.  Using  your  joystick,  you  move  through  the 
rooms  in  nuest  of  prizes.  You  must  elude  monsters  and 
solve  puzzles  along  the  way.  Oeiterity  and  reasoning 
skills  are  required  to  be  successful  in  this  fasl-moving 


CALL  TOLL  FREE 

800-424-2738 


PROTEaOR 


NOWTHROUGK  AUGUST  1  ONLY: PAY  JUST 

;fZl,*^2a^^  $19J6(16KTape( 
'y^^-^^         $23,96  (32K  Disk) 


:^a*^;2o%/ 


game. 

IBKTapeorDlsk ^^S 

NOWTHROUGH  AUGUST  1  ONLY: , . ,  PAY  JUSTS2a96 


From  Synaiae  Software 

The  planet's  inhabitants  are  endangered  byamalevolent 
alien  that  beams  them  to  his  ship  and  transports  them  to 
an  active  volcano.  You  must  pick  them  up  onfrty'Ons 
with  your  rescue/attack  ship  and  .transport  them  to 
anolherclty  whiledodging  lasers  and  rough  terrain.  After 
you  save  as  many  as  possible,  the  volcano  erupts.  You 
must  (hen  rhove  each  person  to  a  volcano-proof  vault  In 
the  mountains !  Great  graphics  and  sound  in  this  arcade 
game. 

KKTape .fe*4  32KDIS'' ^P"*^ 

NOWTHROUGH  AUQUST1  ONLY: PAY  JUST 

<>        ^  <? --1  oy  /  *1B^(32KTap«) 
,,.^)i:Z4^^(->  /O .'     S22.00  (32K  Disk) 


CAVERNS 

OF 

MARS 


¥A 


By  Greg  Christ  ensen  from  APEX 
An  awaitl-winning  arcade  garrw  that  will  challenge  your 
skill  for  many,  many  plays.  You  command  the  fighter 
Helicon  VII  on  a  mission  to  Invade  the  Uaitian  high 
command.  Trie  head<)uarter3  are  kscated  deep  In  the 
caverns,  so  you  must  descend  through  radar,  rockets, 
laser  gates,  and  space  mines  to  reach  your  destination. 
Once  there,  you  activate  the  fusion  bomb  and  try  to  get 
out  before  It  detonates.  Good  luckl    Joystick  required. 

16KTape $29.95 

f  6K  Disk J37.95 


DeKoven  &  Connelley  from  MIndToys 
A  unique  new  approach  to  computer  gaming. 
RICHCX;nET  combines  diabolical  strategy  with  fast 
action  to  yield  agame  that  satisfies  your  Intellect  as  well 
as  your  senses.  You  have  6  playing  pieces  to  move 
arou  nd,  plus  2ball  launchers.  Each  turn  consists  of  either 
repositioning  the  pieces  or  launching  a  t>all.  Poinis  are 
scored  each  time  the  ball  ricochets.  Simple?  Deceptively 
so.  Easy  to  master?  Definitely  not!  1  or2  players. 

32K  Disk S1935 


K-RAZY 
HOCKEY     SHOOT 


From  Gamma  Software 

A  high.3peed  video  action  game  for 2, 3,  or4  players.  You 
use  joysticks  to  control  the  players,  The  offensive  player 
with  the  puck  and  the  nearest  defensive  player  are 
automatically  assigned  to  a  joystick;  Players  not  so 
controlled  become  "smart"  players  who  play 
automatically.  The  action  Is  fast  and  furious,  the  color 
graphics  and  sound  are  realistic.  Perfect  for  family 
entertainmenL 

laCTapeof  Disk $29,95 


SHOOTIIMG  GALLERY 


our 


By  John  Harris  from  On-Llne 

it  you  like  arcade  games  with  action,  you'll  love 
JAWBREAKEfl.  Guide  your  chompers  through  a 
candystore  maze,  eating  "wifesaveis"  as  you  go.  You  are 
pursued  try  variously  colored  "smiiiss,"  determined  to 
knock  your  teeth  out.  Eat  a  Jawbreaker  and  the  "smiiles" 
turn  to  biue"ftownies,"  and  you  can  eat  them!  It's  one  of 
the  best  examples  of  Atari  graphics  and  sound  we've 
seen...you'li  love  iti 

16KDIakofTape S!ft95 


From  K-Byle 

Qet  this  collector's  item  while  you  can:  It's  the  first  non- 
Atari  game  In  a  ROM  cartridge.  Just  slip  the  cartridge 
into  the  slot  and  you  can  instantiybe  playing  this  action- 
packed  arcade  game,  The  object  is  to  move  your  Space 
Commander  through  the  Allen  Control  Sectors,  shoot 
the  Allen  Drolds  and  escape  from  the  sectors.  The 
sectors  are  a  maze  of  passages  and  barriers  that  can  be 
used  for  protection,  but  don't  let  your  commander  touch 
them— they're  electrified! 

ROM  Cartridge, , ..., $49S5 


LUNAR 
LANDER 


GHOST 
HUNTER 


From  Analog 

A  remarkably  rBalistIc  shooting  gallery,  complete  with 
carnival  music.  Use  your  joystick  to  shoot  at  moving 
owls,  rabbits,  dudra,  and  c!ay  pipes.  Hit  stats  and 
targets  for  more  shots.  It  you  can  shoot  them  all,  you'l! 
get  a  try  at  the  raging  bear,  if  any  ducks  fly  south,  Itiey'll 
eat  yourbuiiets.  Great  family  fun. 


From  Arcade  Plus 

The  exciting  haunted  house  maze  game  where  you  miisl 
get  the  ghosts  before  they  get  you!  When  you  eat  the 
pulsating  "energizers,"  the  ghosts  start  pulsating  and 
become  vulnerable  to  your  attack-  51  different  game 
variations  keep  things  interesting.  Play  alone  of  In  the 
"head-lo-head"  mode. 


By  t/Vail,  Moncriel  &  Jesseofrom  A.I. 
Grabyour  Joystick  and  sweat  out  the  touch-down  ofyour 
LEM.  Choose  from  four  lunar  landscapes,  with  many 
choices  for  landing  sites.  Select  a  moredlfficult  site  and 
get  rTHJiB  points— If  you  can  land  successfully.  You  have 
complete  contn:)l  of  your  LEM  via  main  engines  and 
small  side  thrusters,  and  five  successful  landlrvgs  are 
heralded  with  a  patnotic  event.  Great  fun ! 

24KTape H4.95  32K0i3k S2a95 

EASTERN 
FRONT      1941 

ByChrisCtawfoKJtromAPE 

A  map-liased  simulation  of  Operation  Bartwssa,  the 
German  Invasion  of  Russia  A  complex  and  accurate  war 
game,  EASTERN  FRONT  pits  you,  as  German 
Commander,  against  the  terrain,  the  weather,  and  the 
Russian  forces.  Good  use  of  colorful  graphks  and 
sound,  and  wail  written  documentation  make  this  game 
a  winner! 


16KTape J21.95  Disk $24.95       ISKTape $29.95  18KDisk $34.95        16KTapeor32KDIsk. 


.$29,95 


pTHE  PROGRAM  STORE  '  Pept.  U207  Box  9606  •  4200  Wisconsin  Avenue,  NW  •  Washington,  D.C.  20016~' 


Item 


Price 


L 


Postage 
Total 


$1.00 


name 


D  CHECK     a  VISA 

□  MASTERCARD        Card  # 


address, 
city  


state 


zip  . 
.  Exp. 


rj 


72 


COMPUTEI 


July.  1982.  Issue  26 


rotate  about  Uiis  axis  after  the  figure  has  been 
translated  elsewhere  on  the  screen,  we  must  first 
translate  tlie  figure  back  to  the  origin,  do  the  rota- 
tion, and  then  iraiislaie  back  to  where  the  figure 
had  been.  Naturally,  these  intermediate  steps  are 
n(jt  displayed  on  the  screen. 

The  pattern  of  points  whicl^  makes  up  the 
displayed  figure  is  in  the  DATA  statement  of  line 
230.  The  first  number  is  an  X  value,  next  comes  its 
associated  Y  value,  and  so  on  initil  all  points  are 
described.  Fhe  sequence  in  whicli  points  are  de- 
scribed here  is  the  sequence  with  which  the)'  will  be 
plotted.  (See  Figure  3.) 

Before  branching  to  the  R()  I  ATION  sub- 
routine, the  following  variables  must  be  initialized; 

NP  =  Number  of  points  in  displayed  pattern. 

lA  =  Incremental  angle  of  rotation,  in 

radians. 

AX,  AY  =  Absolute  X  and  Y  values  that  the 

axis  of  rotation  has  been  translated  from  the 

origin. 

XP  (NP),  YP  (NP)  =  Arrays  containing  X  Y 
coordinates. 

Before  branching  to  the  Translation  sub- 
routine, you  must  initialize: 

XT,  YT  =  Value  of  X  and  Y  translation. 
NP,  XP  (NP),  YP  (NP)  =  As  before. 

Note  that  AX  and  AY  are  normally  updated  in 
the  Translation  subroutine  and  should  be  set  to 
zero  at  the  start  of  the  program. 

VV^hen  entering  this  program,  the  user  can,  if 
desired,  omit  all  REMarks,  since  there  are  no 
branches  to  RL-IM  statements.  When  running  the 
program,  the  figiue  will  first  appear  in  the  upper 
left  of  the  screen,  partially  hidden  by  the  screen 
edge  and  wrapped  around  the  display.  Pressing 
the  numeric  keys  translates  the  figiu'e,  a  lop-sided 
plus  sign,  according  to  the  standard  scheme  of 
Figure  4.  In  addition,  pressing  the  zero  will  rotate 
the  pattern  15  degrees  counter-clockwise,  and 
pressing  the  five  will  rotate  15  degrees  clockwise. 

As  with  most  BASIC  programs  which  manipu- 
late graphics,  these  routines  work  slowly  with  large 
numbers  of  points.  The  ten  point  example  does 
one  rotation  in  little  more  than  one  second.  If  the 
program  must  rotate  quickly,  either  the  incremental 
angle  of  rotation  can  be  increased,  or  sections  of 
this  program  can  be  rewritten  in  machine  language. 

References 

1)  High-Resolution  Plotting  for  the  PET,}.  Sherburne, 
Micro  No.  10,  March  1979,  Machine  lansuage  routine. 

2)  Workbook  3,  Total  hiformation  Services,  Basic  rouliiic 
for  hi-res.  plotting,  PET. 

3)  The  Mathematics  of  Computer  Graphics,].  Posdamer, 
Byte  Vol.  3,  No.  9.  Sept.  1978. 


Notes  For  Atari  Users 

The  Atari  version  of  this  rotitine  closely 
parallels  the  PET  version.  Instead  of  screen 
POKEs,  ordinary  X,Y  PLOTting  is  used, 
and  instead  of  using  the  numeric  keypad  to 
generate  the  values  for  the  translation 
routine,  this  program  uses  a  joystick  to 
move  (translate)  the  figure  around  the 
screen.  The  less-than  "<"  and  greater-than 
">"  keys  are  u.sed  to  rotate  the  figure.  Be- 
cause of  the  general  nature  of  this  program, 
it  can  be  run  in  Applesoft  BASIC  with  only 
minor  changes,  such  as  changing 
GRAPHICS  3  -I- 16  to  GR  ;  COLOR  1  to 
COLOR  =  1 .  TRAP  to  ON  ERR  GOTO, 
GET  #  1 , A  to  GET  A$: A  =  ASC(A$),  etc., 
and  using  the  keyboard,  paddles,  or  a  joy- 
sdck  to  get  the  values  for  XT  and  YT  ( 1 ,0, 
or-I). 


Other  Machines: 

If  your  BASIC  supports  X,Y  PLOTting, 
use  the  Atari  version  as  a  guide,  otherwise 
modify  variables  SS,  SE.  and  RL  in  the 
PET/CBM  version  if  you  have  a  niemory- 
mapped  text  display.  (See  the  article  for 
details.) 


Figure  1. 


0,0 


X  Axis 


-> 


PET SCREEN 
25  Rows  (Y) 
40  Columns  (X) 


^ 


It's  Herel  The  computer  strategy 
Game  with  Bounce! 


For: 

Apple 
Atari 

TRS-80 


Have  you  ever  seen  a  fast  action 
game  combined  with  the  intense 
strategy  of  chess,  backgammon  or 
Othello?  Ricochet...the  first  abstract 
strategy  game  designed  exciuslvely 
for  the  computer  owner... is  both. 
And  loads  of  fun! 

You  and  your  opponent  each  have 
six  opposing  blocks  to  maneuver  and 
two  launchers  to  fire.  Your  shots  rico- 
chet off  the  blocks,  changing  their 
position  with  every  hit,  while  earning 
you  points  on  the  way  to  their  targets. 
The  longer  your  shot  ricochets,  the 
more  points  you  get. 

You  don't  have  to  play  alone,  either. 
Play  against  any  of  four  different  com- 
puter opponents,  (each  a  different 
personality),  or  another  human.  Five 
game  variants  to  choose  from— each 
requires  a  different  strategy 

Ricochet  is  truly  competitive. . .  if  you 
want  it  to  be.  A  "smart  clock"  lets  you 


put  more  pressure  on  your  opponent 
by  forcing  him  to  play  faster  than 
you.  But  you've  got  to  win  two  out  of 
three  (or  three  out  of  five)  games  to 
claim  victory 

Your  computer  rates  you  after  each 
match,  so  you  can  compare  your  mas- 
tery of  the  game  with  that  of  other 
players.  In  the  long  run,  you're  trying 
to  rack  up  points  for  your  personal 
Ricochet  Rating. 

Get  Ricochet  now  at  your  local 
dealer  for  your  Atari,  Apple  or  TRS-80 
Suggested  retail  price:  $19.95. 


Another  Mind  Toy 
Prom^nyx 

K  W   coMPun 


COMPUTER  GAMeS 
THINK£R5  RtAY 


L 


•APPLE,  ATARI  and  TRS-80  are  trademarks  of  Apple 
Cornputer  Inc.,  Atari,  inc.  ano  Tandy  Corp..  respectively- 


1981,  AUTOMATED  SIMULATIONS,  INC. 

P.O.  Box  4247,  Mountain  View,  CA  94040. 


74 


COMPUTE! 


July.  1982,  Issue  26 


Figure  2. 


AX 
* * 


AY 


■^X 


"•X„Y, 


i  Xq  ,  Y^ 


Y 


Figure  3. 


0,-4 

AXIS  OF 
ROTATION 

0,-2 

-4,0 

-2,0 

0,0 

2,0 

4,0 

6,0 

■^x 


0,2 


Coordinates  of  each  box 

are  placed  in  DATA  statement 


0,4 


4^ 

Y 


PET  NUMERIC 
KEY  PAD 


— ^  Arrows  show  direction 
of  motion  when 
corresponding  key 
is  pressed. 


Program  1.  Commodore  Microsoft  Version 

100  REM  2-D  GRAPHICS  SUBROUTINE  DEMO 

110  REM  BY  IAN  PAULL 

120  PRINT" {CLEAR}": REM  CLEAR  SCREEN 

130  DIM  XP(10) ,YP(10) :REM  ENLARGE  FOR  MORE  ' 

POINTS 
140  REM  INITIALIZE 
150  POKE  59468, 12 :REM  PUTS  PET  IN  STANDARD  " 

CHARACTER  MODE 
160  NP= 10 :SS= 32768 :SE=33767:RL=4  0:AX=0:AY=0 

170  REM  NP=NUMBER  OF  POINTS;  SS=SCREEN  STAR 

T  ADDRESS;  SE=SCREEN  END  ADDRESS 
180  REM  RL=RQW  LENGTH;  AX, AY=ACCUMULATED  X  " 

AND  Y  VALUES  (NET  XLATION  SO  FAR) 
190  FOR  KZ=1  TO  NP:REM  READ  FIGURE  COORDS 
200  READ  XP{KZ) ,YP(KZ) 
210  NEXT  KZ 
220  REM  DATA  BELOW  ARE  FIGURE  COORDS.  FORMA 

T  FOR  EACH  POINT  IS  X,Y 
2  30  DATA-4, 0,-2, 0,0, 0,2, 0,4, 0,6, 0,0, 4, 0,2,0 

,-2,0,-4 
240  GOSUB  1060:REM  PLOT 
250  GETAS:IFA$=""THEN250:REM  LOOPS  UNTIL  AN 

INPUT 
260  A-VAL(AS)+1:REM  CONVERTS  STRING  INPUT  T 

0  NUMERIC  VALUE 
270  ON  A  GOTO  290,370,420,470,520,330,570,6 

20,670,720 
280  REM  CCW  ROTATE,  FIXED  ANGLE  15  DSG 
290  IA=-(15/360)*(2*) :REM_=PI 
300  GOSUB  780:REM  ROTATE  ROUTINE 
310  GOTO  250 

320  REM  CW  ROTATE,  FIXED  ANGLE  15  DEG 
330  IA= (15/360)* (2*) :REM_=PI 
340  GOSUB  780:REM  ROTATE  ROUTINE 
350  GOTO  250 

360  REM  XLATE  DOWN  AND  LEFT 
370  XT=-1 
380  YT=1 

390  GOSUB  970:REM  XLATE  ROUTINE 
400  GOTO  250 
410  REM  XLATE  DOWN 
420  XT=0 
430  YT=1 

440  GOSUB  970:REM  XLATE  ROUTINE 
450  GOTO  250 

460  REM  XLATE  DOWN  AND  RIGHT 
470  XT=1 
480  YT=1 

490  GOSUB  970:REM  XLATE  ROUTINE 
500  GOTO  250 
510  REM  XLATE  TO  LEFT 
520  XT=-1 
530  YT=0 
540  GOSUB  970 
550  GOTO  250 
560  REM  XLATE  TO  RIGHT 
570  XT=1 
580  YT=0 
590  GOSUB  970 
600  GOTO  250 

610  REM  XLATE  UP  AND  LEFT 
620  XT=-1 
6  30  YT=-1 
640  GOSUB  970 
650  GOTO  250 
660  REM  XLATE  UP 
670  XT=0 


July.  1982,  Issue  26 


COMPUTEI 


75 


680  YT=-1 

690  GOSUB  970 

700  GOTO  250 

710  REM  XLATE  UP  AND  TO  RIGHT 

720  XT=1 

730  VT=-1 

740  GOSUB  970 

750  GOTO  250 

7  60  REM  ROTATE  CONTROL 

770  REM  FIRST,  XLATE  TO  ORIGIN 

780  FOR  KZ=1  TO  NP 

790  XP(KZ)=XP(KZ}~AX 

800  YP(KZ)=VP(KZ)-AY 

810  NEXT  KZ 

820  REM  DO  ROTATION  ABOUT  0,0 

830  SA=SIN(IA) :CA=COS(IA) 

840  FOR  KZ=1  TO  NP 

850  KN=XP(KZ) 

860  XP(KZ) =KN*CA-YP{KZ) *SA 

870  YP(KZ)=KN*SA+YP (K2) *CA 

880  NEXT  KZ 

890  REM  XLATE  BACK 

900  FOR  KZ=1  TO  NP 

910  XP(KZ)=XP(KZ)+AX 

920  YP(KZ)=YP(KZ) +AY 

930  NEXT  KZ 

940  GOSUB  1060:  REM  PLOT 

950  RETURN 

960  REM  XLATE 

970  AX=AX+XT:REH  KEEP  TRACK  OF  ABS  X 

980  AY=AY+YT:REM  KEEP  TRACK  OF  ABS  Y 

990  FOR  KZ=1  TO  NP:REM  SHIFT  X  AND  Y 

1000  XP(KZ) =XPCKZ)+XT 

1010  YP(KZ)=YP(KZ)+YT 

1020  NEXT  KZ 

1030  GOSUB  1060:  REM  PLOT 

1040  RETURN 

1050  REM  PLOT 

1060  PRINT" {CLEAR} ":REM  CLR  SCREEN 

1070  FOR  KZ=1  TO  NP:REM  FIGURE  ADDRESSES  TO  ' 

BE  POKED 
1080  LOC= (SS+RL*INT(YP{KZ)+.5)+INT(XP(KZ)+.5 

)) 
1090  IF  LOC<SS  OR  LOOSE  THEN  NEXT  KZ:RETURN 

:REM  DON'T  POKE  OFF  SCREEN 
1100  POKE  LOC,160:REM  LIGHT  CHARACTER  CELL  A 

T  SCREEN  LOCATION  'LOC 
1110  NEXT  KZ 
1120  RETURN 
1130  END 


Program  2.  Atari  Version 

110  OPEN  #L4.0/'K" 

120  GRAPHICS  3+16 

130  Din  XP(10>A?<10):REri  ENLARGE  DIMENS 

ION  FOR  MORE  POINTS 

140  REM  INITIALIZE 

160  AX=0:AY=0  =  l^a^l0:pI=3. 1415927 

170  REM  NP=NlfBER  OF  POIhrTS 

190  FOR  K2=l  TO  hlP 

200  READ  T=XP(KZ)=T^READ  T:t?<KZ)=T 

210  NEXT  KZ 

220  REM  DATA  3EL0W  ARE  FIGURE  COORDS 

225  REM  FORM  FOR  EACH  POINT  IS  X.Y 


230  EWTA  -4>0.-2i9.0j8.2.Q.4.0.b.0.0j4.0 

.2,0,-2,9.-4 

240  GOSUB  1068^  REM  PLOT 

250  IF  PEEK(764K255  THEN  306 

260  ST=STia<C0)aF  ST=15  THEN  256 

270  XT=-(3T>8  AMJ  ST<12>+(ST>4  A^Ci  ST<8> 


280  n=<ST=9  OR  ST=5  OR  ST=13MST=10  OR 
ST=i4  0?  3T=6) 
290  GOSUB  970: REM  xLATE  ROUTINE 
295  GOTO  250 
300  GET  #LA 

310  IF  A<>b0  AM3  A062  T^e•^  256 
320  IPK<  A=68  )+( A=62  >  )^(  15/368  )*(  2*PI ) 
330  GOSUB  780  =  1^  ROTATE  RSJTIHE 
340  GOTO  250 
760  REM  ROTATE  CONTROL 
770  REM  FIRST,  XLATE  TO  ORIGIN 
780  FOR  KZ=1  TO  NP 
790  >KKZ)=XFtK2)-A>^. 
800  \T(KZ)=YP(i<2>-HV 
810  t^J'IT  KZ 

820  REM  DO  ROTATION  ABOUT  0,0 
830  SA=3IN(IA)  =  CA=C0S(IA> 
840  FOR  KZ=1  TO  NP 
850  I'J^XPCKZ) 
860  XP(KZ)=K}t^iCA-YP(KZ)SSA 
870  WKZ)=Kf-J^3A+YP(l'2v^CA 
888  ^eiT  KZ 

890  rem  xlate  back 
900  for  kz=1  to  nf' 
910  xp(kz)=xp(kz>+a:^ 

920  Yf<KZ)=YF'<K2)+HY 
930  \Ef(T  KZ 

940  GOSUB  1060^  REM  PLOT 
950  RETUF:N 
960  REM  XLATE 

970  AX=AX+XT  =  REM  KEEP  TRAilK  OF  ABS  X 
980  AY=AY+YT:RB1  KEEF'  TRACK  OF  ABS  Y 
998  FOR  KZ=1  TO  hf^REM  SHIFT  X  f*€  Y 
1000  XP(KZ>=>P(KZ)+XT 
1018  YP(KZ)=YF'<KZ)+YT 
1020  NEXT  KZ 

1038  GOSUB  1060  =  REM  PLOT 
1040  RETURN 
1050  REM  PLOT 

1060  GRAPHICS  3+16  =  SETCOL0R  8,8, 18  =  COLOR 
1 

1070  FOR  KZ=1  TO  NP 
1080  mP  1898 

1085  PLOT  XP<K2;',YP<KZ)  =  TR^'  48088 
1090  NEXT  K2 
1100  RETURN 
1130  EHD 


e 


76 


COMPUTEI 


July,  1982,  Issue  26 


A  Monthly  Column 


The  World 
Inside 
The 
Computer 


Fred  D'Ignazio  is  a  computer  enthusiast  and  author  of  several  books  on  computers  for  young  people.  He  is 
presently  working  on  two  major  projects:  he  is  writing  a  series  of  books  on  how  to  create  graphics-and-sound 

adventure  games.  He  is  also  working  on  a  computer  mystery-and-advcntine  series  for  yoimg  people. 

As  the  father  of  two  young  children,  Fred  has  become  concerned  with  introducing  the  computer  to  children 

as  a  wonderful  tool  rather  than  as  a  forbidding  electronic  device. 


The  Computer 
Playground 

Fred  D'Ignazio 
Associate  Editor 

Eric  ran  over  to  the  royal-lslue  sliding  board, 
standing  like  a  petrified  monolith  in  llie  corner  of 
his  school  playground.  He  looked | up,  searching 


for  the  lop  of  the 
sliding  board.  It  was 
tost  somewhere  in 
the  drifting  clouds. 
f  he  metal  rail  glinted 
in  the  sim,  resembling 
the  arm  of  a  giant  crane. 
The  dirty  blue  stairs 
seemed  to  go  up  and  up, 
maybe  ending  somewhere 
in  heaven. 

Although  Kric  was  only 
three,  he  confidently 
grabbed  onto  the 
sliding  board's  steel 
handrail  and  began  clinging  the  steep  metal  stairs. 
After  he  got  to  the  top,  Eric  stopped,  panted  like  a 
puppv,  and  surveyed  his  playmates,  screeching 
and  dashing  aroirnd  the  playground.  His  friends 


looked  strangely  small,  since  Eric  was  .so  high  up. 

Eric  stretched  on  his  lip-toes  and  gral3l>ed  the 
chinning  bar  above  the  sliding  board.  He  swung 
back  and  forth  wildly. 

"Karla,  watch!"  he  yelled  to  his  teacher. 

Halfway  through  each  arc,  he  stnacked  his  feet 
against  the  top  of  the  sliding  board.  Loud  percus- 
sion noises  echoed  across  the  playground. 

Suddenly,  Eric  let  go  and  went  flying  down 
the  sliding  board.  He  slid  dizzily  round  and  round 
the  board's  corkscrew  spirals.  He  flew  off  the  end 
of  llic  board,  sailed  across  a  nuid  j:niddle,  and 
demolished  a  sand  castle  being  built  by  two  of  his 
friends.  His  friends  went  crying  to  their  teacher. 
Eric  howled.  When  he  landed  on  the  sandpile,  he 
had  scraped  his  bottom  on  the  tip  of  an  upturned 
shovel. 

Moments  later,  the  two  kids  were  at  work  on 
another  sand  castle,  undisturbed  about  the  prospect 
of  new  children  falling  from  the  sky. 

Eric  was  far  away,  on  the  opposite  side  of  the 
playgrcHuid.  His  checks  were  splashed  with  gritty 
tears,  and  his  ears  were  filled  with  sand,  but  he  was 
smiling.  He  had  a  new  project.  He  was  crab  cravvhng 
across  the  green-shingled  roof  of  the  school's 
]jlayhouse,  trying  to  work  up  his  courage  to  jimip 
into  the  old  rowboat  beached  under  the  house's 
eaves.  Eric  thought  maybe  he  could  do  it.  After  all, 
what's  jumping  off  a  roof  to  a  three-year-old  who 
can  climb  to  heaven  and  drop  from  clouds  and 
clobber  castles? 

The  Computer  Alchemists 

The  dark-suited  men  were  frowning  and  fiercely 


Micro-Ed  is  EXPANDING! 


Send  for  free  educational  catalogs  %v 


Specify:  Pet  •  Vic  •  TI  •  Apple  •  TRS-80 
•The  New  Commodore  64  ^"'"^  ^°'"''"*^' 

you  can  telephone  us 

^*  Micro-Ed,  Inc. 

612-926-2292  PO  Box  24156        Minneapolis,  MN  55424 


78 


COMPUTH 


July,  1982,  issue  26 


intent.  They  spoke  a  cryptic,  arcane  language. 
"Disk  error  in  sector  five,"  said  one.  "Uh-huh," 
said  another.  "We'll  have  to  bleed  the  accumulator." 
A  third  stared  at  a  wide  piece  of  paper  he  had  just 
ripped  off  a  green-and-white  sheet  of  paper  so 

long  it  could  have  covered  a  ban- 
quet table."  The  OS  slave  program 
keeps  stripping  the  control  bits!" 
he  said  angrily.  He  crumpled 
up  the  paper  and  tossed  it 
into  a  navy-green  waste- 
basket  under  his  spotless 
desk. 
The  men  worked  in  a 
^'     cool,  almost  Arctic  room, 
drained  of  color  by  the  overwhelming  bath  of 
white  light  emanating  from  the  banks  of  flourescent 
lamps  fastened  to  the  ceiling.  Tall  panels  of  lights 
winked  like  a  city's  streetlights  viewed  from  a  distant 
hill.  Rows  of  metal  boxes  were  filled  with  rotating 
platters  and  reels  of  gleaming  tape  that  spun  and 
whirred. 

Staccato,  machine-gun  noises  filled  the  room, 
as  three  ol  tiie  boxes  disgorged  endless  sheets  of 
paper.  The  paper  looked  like  a  giant,  jerking  tongue 
or  an  impossibly  long  scarf  pulled  from  a  magician's 
sleeve. 

The  men  were  only  vaguely  aware  of  the  tap- 
dancing  |jrinter  and  the  clacking  tape  drives.  The.se 
sounds  were  nmffled  by  a  loud  whooshing  noise 
that  seemed  to  cover  everything  in  the  room  like 
an  invisible  volcanic  ash.  The  noise  came  from  air 
pouring  through  the  wall  grates  from  huge  cooling 
and  filtering  fans.  After  several  hours  in  the  room, 
the  noise  could  ntimb  a  person's  whole  bodv  and 
make  it  feel  wrapped  in  a  cocoon  of  cotton  candy. 

When  Alien  Worlds  Collide 

Eric  on  the  sliding  board  and  the  men  in  the  cotton- 
candy  room  seem  to  be  worlds  apart.  Eric  is  a  tod- 
dler having  fim  on  a  playground.  The  men  are 
high-level  programmers  and  analysts  designing  a 
new  computer  system. 

Eric  is  outdoors  in  the  sun.  The  men  are  buried 
deep  in  the  bowels  of  the  Pentagon,  in  a  guarded, 
windowless  computer  room. 

Eric  is  covered  with  dirt  and  sand,  and  s\\eating 
from  his  exertions.  The  men  are  coveied  with 
plastic  badges  that  proclaim  their  dedication  and 
their  utter  seriousness  about  their  craft.  Dusi  and 
dirt  arc  not  permitted  in  their  room.  Only,  sweat - 
cold  sweat. 

I  used  to  be  one  ol  those  men.  And  Eric  is  my 
son.  Now  Eric's  world  and  the  world  where  I  once 
worked  have  intersected,  like  alien  worlds  colliding. 

When  did  the  collision  take  place?  It  occurred 
when  I  first  tinned  Eric  loose  on  my  home 


computer. 

The  shock  was  antic.  It  was  also  profound. 

Eric  is  a  person  of  arbitrary,  random  action. 
He  is  a  person  driven  by  fantasy,  by  enormous 
appetites  and  desires.  His  energy  seems  boundless. 
His  temper  is  formidable.  He  vibrates  to  the  tune 
of  unchecked  emotions  and  enthusiasms.  He 
cringes  from  invisible  monsters  that  scare  him  half 
silly,  then  walks  unconcerned  past  real  monsters  he 
still  hasn't  learned  to  fear.  To  my  most  careful, 
clearly  put  instructions,  he  answers,  "What?" 

Computers,  on  the  other  hand,  are  creatures 
of  reason  and  precision.  They  are  powerful  tools, 
the  product  of  advanced  technology.  (Computers 
are  predictable.  If  we  put  in  the  right  conniiand, 
we  get  the  right  answer.  Or,  if  we  feed  the  computer 
garbage,  we  get  garbage  back. 

Computers  and  three-year-olds  seem  worlds 
apart.  Just  imagine  a  computer  that  acted  like  a 
three-year-old.  Or  imagine  a  three-year-old  that 
acted  like  a  computer. 

Three-year-olds  are  hardy  and  tough.  Com- 
puters arc  finick)'  and  delicate.  Three-year-olds 
revel  in  dirt,  mud,  and  grime.  Computers  like  to  be 
clean.  They  work  better  that  way. 

Knives,  Forks,  And  Attila  The  Hun 

Eric  has  lots  of  nicknames:  Little  Hulk,  Commando 
Kid.  Tank,  and  the  Lone  Ranger,  among  oiliers. 
My  favorite,  though,  is  .Attila  the  Hun.  This  is  an 
apt  nickname  because  Eric,  at  heart,  is  a  barbarian. 

C^an  a  barbarian  e\'er  learn  to  eat  with  a  knife 
and  fork?  Can  he  be  trusted  in  the  same  room  as  a 
computer? 

Sometime,  over  a  year  ago,  I  was  on  the  phone 
in  the  kitchen  talking  with  someone  in  C'alifornia.  I 
was  trying  to  obtain  some  photos  for  a  book  1  was 
writing. 

Eric  was  home  with  me  all  day,  back  then, 
while  his  mommy  went  to  work  and  his  sister  went 
to  .school.  I  didn't  worry  about  Eric  while  I  talked 
on  the  phone,  since  Eric  was  busy  crayoning  on  a 
piece  of  scrap  paper  on  the  floor  of  my  study.  Or 
so  I  thought. 

I  was  deeply  engrossed  in  the  conversation, 
trying  hard  to  visualize  the  Californian's  robot 
turtle,  which  I  had  never  seen.  Then  I  happened 
to  look  up,  and  my  heart  stopped. 

There,  on  the  kitchen  floor,  Eric  was  hard  at 
work,  creating  a  fiagstone  sidewalk  made  out  of  my 
floppy  disks.  My  floppy  disks.  I  had  stored  all  my 
books  and  programs  on  those  disks.  Eric  must  have 
known  how  important  the  disks  were  because  he 
had  carefully  removed  each  disk  from  its  protective 
case  and  gently  dropped  it  on  the  floor.  He  had 
placed  all  the  disks  in  a  neat  row  that  ended  at  the 
refrigerator.  Now  that  he  was  finished  building  his 


QUALITY  SOFTWARE  FOR  TRS-80  COLOR  AND  OSf 


QUEST  -  A  NEW  IDEA  IN  ADVEN 
TUR£  GAMES!  Different  from  all  tfie 
others.  Quest  is  plaved  on  a  computer 
generated  map  of  Alesia.  Your  job  is  to 
gatfier  men  and  supplies  by  combat,  bargain- 
ing, exploration  of  ruins  and  temples  and 
outright  banditry.  When  your  force  is  strong 
enough,  you  attack  the  Citadel  of  Moorlock 
in  a  life  or  death  battle  to  the  finish.  Play- 
able in  2  to  5  hours,  this  one  is  different 
every  time. 

16K    COLOR-80    OR    TRS-80   or    12K0SI. 
$14.95. 


BASfC  THAT  ZOOOMMS!! 
AT  LAST  AN  AFFORDABLE  COMPILER 
FOR  OSI  AND  TRS-80  COLOR  MA- 
CHINES!!! The  compiler  allows  you  to 
write  your  program":  in  easy  BASIC  and 
then  automatically  generates  a  machine 
code  equivalent  that  runs  50  to  150  times 
faster. 

It  does  have  some  limitations.  It  takes  at 
least  BK  of  RAM  to  run  the  compiler  and  it 
does  only  support  a  subset  of  BASIC— about 
20  commands  including  FOR,  NEXT,  END, 
GOSUB,  GOTO,  RETURN,  END,  PRINT, 
STOP,  USRfX),  PEEK,  POKE,  •,/.  +  .-, 
X  ,  X  ,  =  ,  VARIABLE  NAfkflES  A-Z.  A 
SUBSCRIPTED  VARIABLE,  and  INTE- 
GER NUfi/lBERS  FR0IW1  0  -  e-lK. 
TINY  COMPILER  is  written  in  BASIC.  It 
generates  native,  relocatable  6502  or  6809 
code.  It  comes  witfi  a  20  page  manual  and 
can  be  modified  or  augmented  by  the  user, 
S24.95  on  tape  or  disk  for  OSI  Of  TRS-80 
Color. 


LABYRINTH  -  16K  EXTENDED  COLOR 
BASIC  -  With  amazing  3D  graphics,  you 
fight  your  may  through  a  maze  facing  real 
time  monst#'s.  The  graphics  are  real  enough 
to  cause  claustrophobia.  The  most  realistic 
game  that  I  have  ever  seen  on  either  system. 
$14.95.  (BK  on  OSI  I 


OXilittLliQC; 


VENTURER!-A  fast  action  all  machine 
code  Arcade  game  that  feels  like  an  adven- 
ture. Go  berserk  as  you  sneak  past  the 
OREAQCD  HALL  MONSTERS  to  gather 
treasure  in  room  alter  room,  killing  the 
NASTIES  as  you  go.  Great  color,  higfi  res 
graphics,  sound  and  Joystick  game  for  the 
TRS-80  Color  or  OSI  machines,  (black 
and  white  and  silent  on  OSI.)  Tape  only. 
$19.95. 


Send  $1 .00  for  complete  catalog  of  Games,  Utilities  &  Business  Software. 


AARDVARK-80 
2352  S.  Commerce,  Walled  Lake,  Ml  48088 
TRS  80  COLOR  (31 3)  669-31 1 0 


'^^^ 


% 


OSI 


LET  COMPUTERMAT  TURN  YOUR  VIC-PET-CBM  INTO  A  HOME  ARCADE 


VIC     SOFTWARE  PET/CBM 

ALIEN  INVASION       Ari-,\rifStyli'i'\ciU'nu'i;l  kirvnu!  VIC  Look  mil  ht'tf  BOMB'S  AWAY  —  Cjii  you  stop  himV  The  lto-'v  bomber  drops  ihe  bombs 

thi'ycomt"  Aliens  .ut' clt'sct'iiduiy  lrt>Mi  iiw  sky  Movt'ytmrlasi'rHito  position  Irons  ihv  lopoi  ihescrffiv  Yuu^fi  3  buckets  to  fjich  them.  Before  you  know 

iiiid  defend  tfif  ivirth    Tlif  jitaiks  iir^'  unundiHii       ClUT  you  survive  or  will  ii  bombs  art'  falling  so  fdst  you  wonder  when  he  will  slop  Just  when  you  think 

\.'Lidt'r  rule  the  aiil'i>^y    Miiny  t'Mrjs  on  this  one   211  levels  ul  pUiy  . .  .$9.95  you  h.ive  him  under  luntrul  your  bucket  gets  smaller   Is  your  hand  quicker 

CATTLE-ROUNDUP   -   The  etiws  die  loose  in  ihe  l^'^t^^e   Yiiu  have  2  th.in  yout  eye'-* 

minute?  10  get  e.ieh mwbiuk  into  the  eorr.il  You  eiiii  push.  eo.ixiind  tall  ihe       C.l^s  HK $9,93 

i.iiu>  Some  eou'i  lire  mil  very  sm, lit  and  Mime  .ue  very  stohborn   Yuu  iai1I  .  c-rt-i>^ir-.r»       i               i                            ,■   n                      j     ^ 

have  to  help  then,  B.'  .-.iti'lul  that  you  don't  leave  the  corral  gale  open  Color  ASTtROIDZ  -  lis  your  ship  vs  ^  swarni  n  killer  aammaroidz  You  iite  on  a 

graphie.  and  sound   l^mhi  leeels  ol  play  ,.nd  a  lime  limii      $9  95  -'" "'S'"";'"^'"'^'  ■'"'^  "i"f '  d.^troy^them  before  they  blasi  you  inlo  the  next 

HEAD  ON  -  N'our  ear  moves  lorwavd  artiund  the  race  iraek  You  can  move  *''"\^    ^'■'"'  ''^"'^''  "'  P'^^    "'"'  hyperspaee  keys  that  move  you  around, 

up.  down,  nahl  and  iefl   Try  to  seore  pomts  by  runnina over  the  dois  on  the  PJ'''"^''^'^^  entertainment  at  its  hnesi   Great  graphii-s  and  sound 

traik  Watch  out  tui  the  t  rusher       il  you  crash  you  lose  a  ear  Four  ears  and  '"  ^''^ 

iKinus  levels  FulUoluigraphies  and  sound  Fast  aetionand  very addieiing  g  MUNCHMAN   --   How  matiy  duts  can  you  lOver'  It's  you  against  the 

levels  ut  play $9.95  eompuiei  munehers  ZIP  and  ZAP  Can  yuu  clear  the  maze  lirsi  or  will  Ihey 

SNAKEOUT        Blocks  appear  on  ilie  seteen  at  tandoni   You  move  up.  get    you'   Number    keys   move   you   up.  down,    right   and   led    GREAT 

down,  right  and  lelt  and  try  so  move  your  snake  over  ilie  filoeks  Kaeh  block  GRAPHICS  AND  SOUND 

that  you  get  raises  yout  seore    Keep  building  yuui   score  but  watch  out        C.iss   8K    ^ S9.93 

because  the  escape  routes  keep  yetting  smaller   Time  liiTiil.  color  yraphies  TAr.,-,-T  ^^m^  A-.r^       ,                           ,                ,              ,            , 

and  sound   3  aames  on  this  cassette   Snakeoui        2  player  Snakeoui  and  TARGET  COMMAND  -  Its  you  against  a  barrage  of  enemy  lazers  that  are 

Trapix-r   9  Levels  ut  Plav                                                                         S9  ^l  aimed  ai  youi  iininio  dumps  Sight  in  on  the  targets  and  score  as  many  hits  as 

TARGET  COMMAND    -  Mnve'y'o'uVu^Jer'uti'J  p;.sinon"and  get'r'eady  tot  '^""  '^""'   ^^  ^"'"  ''*'"  '""^■■'*"-'*  «  <^^  =he  the  diiliculty   -  IS  levels  to 

somequKkaeiioii   Dilteieni  types  ol  missiles  are  dropping  How  many  cat.  '''''''"  This.saii  arcade  style  game  with  great  graphicsand  soundeffecis  A 

vou  shoot  down   They  all  travel  at  dillerenl  speeds  and  dillerent  levels  't'ou  "."'*'  'jL^""'           *" 

must  be  last  on  tite  trigger  to  get  them  all  Time  limit,  fiunus  piiinib  and  very  '^^  ' ^'^'^^ 

addieiiiig   Color  graphics  and  sound   Art.ide  style  tun.  10  levels  ..  .$9.95  VIC  AND  PET  ARE  TRADEMARKS  OF  CBM 

ALL  VIC  SOFTWARE  RUNS  IN  pet/cbm  software  is  designed  to  run  on 

STANDARD  3K  VIC.  '"'  chr  screen  and  standard  8K. 

COMPUTERMAT  .  BO.K  lbb4.  DEf'T  C  WRITE  FOR  FREE  CATALOG  OF  VIC  PET  SOFTWARE 

LAKE  HAVASU  CITY.  ARIZONA  86403  PLEASE  ADD  $1.00  PER  ORDER  FOR  SHIPPING 


80 


COMPUTEI 


July,  1982,  Issue  26 


sidewalk,  he  began  to  walk  on  the 
disks.  Then  he  started  to  hop! 
"Eric!"  I  screamed.  1  gagged 
something  inarticulate  to  the 
person  at  the  other  end  of  the 
phone  and  hung  up.  I  charged 
across  the  kitchen  floor.  Eric  fled 
to  his  bedroom. 

I  knelt  beside  the  floppy 
disks.  I  was  in  shock.  I  was  certain  that 
the  information  ihey  contained  was  Z^^^ 

squished,  trampled,  ruined.  Several  of  the /pT?  [3 
disks  were  covered  with  small  dusty  ^S^7  ^~^^ 
footprints.  ,^  ^-^"^-^^-^J- 

Did  I  flog  Eric 
Was  m)'  informa- 
tion destroyed? 

Happily,  no. 

But  that  was  only  the  First  of  a  brief,  but  emo- 
tional, series  of  incidents  involving  Eric  and  the 
lloppy  disks.  The  problem  was  he  couldn't  keep  his 
hands  off  them.  Something  perverse  inside  him 
told  him  he  had  me  by  the  ihroat.  All  he  had  to  do 
was  point  to  a  disk,  and  I  flew  into  a  tizzy.  Every 
time  1  left  my  study,  he  would  sneak  in  and  rob 
several  disks  and  hide  them  under  his  bed.  For 
awhile,  things  got  .so  bad,  1  began  sealing  my  disk 
drawer  shut  with  strapping  tape,  just  to  thwart 
Eric. 

I  hen  I  iiad  an  inspiration.  I  gave  Eric  a  disk 
of  his  own.  It  was  an  old  disk  that  was  no  longer 
relia!>le.  I  wrote  Eric's  name  on  the  disk  in  big 
green,  magic-marker  letters.  I  wrapped  the  disk  up 
and  gave  it  to  him  as  a  present. 

He  was  delighlecl.  He  still  keeps  the  disk  in  a 
place  of  honor  on  his  bookshelf. 

And  he  stopped  robbing  my  disks. 

Now  You  See  It,  Now  You  Don't! 

I  have  two  kids.  Erie,  of  c(Hnsc',  and  Catie,  who  is 
six. 

I  liave  several  computers,  and  I  have  turned 
niv  studv  into  a  videogame  arcade  and  a  computer 
progrannning  workshop  for  neighborhood  kids. 

The  kids  can  u.se  all  ilu;  compiuers  in  the 
room  except  one,  my  writing  computer.  That 
computer  is  supposed  to  be  off  limits. 

One  day,  while  the  kids  were  banging  away  at 
the  other  computers,  I  got  up  from  my  computer 
U)  stretch  and  make  a  snack  in  the  kitchen.  On  my 
way  back  into  the  room,  five  miniucs  later,  I  hap- 
pened to  glance  at  my  computer  screen.  Before  1 
left,  the  screen  had  been  filled  with  words -a 
section  of  a  new  Ijook  chapter  I  was  writing.  Now 
the  screen  was  empty. 

I  panicked.  I  ran  into  the  room  yelling  at  the 
kids.  "Who  messed  with  my  computer?"  1  hollered. 


"My  chapter's  gone.  I've  lost  hours  of  work." 

Then  I  checked  the  computer.  I  was  snic  it 
had  been  turned  off,  but  it  was  still  on.  I  did  some 
more  checking.  Finally,  I  noticed  the  screen  bright- 
ness switch.  I  tinned  it.  Magically,  mv  words  reap- 
peared. My  chapter  was  untouched.  Kothing  was 
lost. 

just  then,  a  very  contrite  flve-vear-old  boy 
came  up  to  me  with  his  head  tlrooping.  "I  did  it, 
Mr.  D'Ignazio,"  he  said.  "I  didn't  mean  to  kill  your 
computer." 

Joystick  Tug  Of  War 

.■\nollicr  lime,  I  was  in  the  kitchen  eating  dimicr 
with  my  family.  Several  children  were  still  piaving 
computer  games  in  the  studv.  .\11  of  a  suckleu, 
from  the  stud\  came  shouts  and  scuffliny  noises. 

"It's  my  turn  to  blast  them!"  one  child  cried. 

"You  jusi  blasted  them!"  cried  another  child. 
"Now  it's  my  ttnn!" 

I  ran  into  the  study  and  found  a  six-year-old 
and  a  nine-year-old  (biother  and  sister)  doing  their 
best  to  rip  two  joysticks  out  of  a  computer. 

"What  are  you  two  doing?"  I  shouted. 

llie  kids  liuned  towarrl  me.  Frighiened.  ihev 
dropped  their  joysticks.  One  broke  open  on  the 
stuch's  hardwood  floor. 

"Out!  Out!"  I  yelled. 

They  dashed  past  me  and  ran  out  the  front 
door  of  tlie  house. 

How  Come  This  Doesn't  Fit? 

.Another  time,  I  was  in  the  kitchen  preparing  dinner 
for  my  family.  It  was  close  to  five-thirty,  and  my 
wife,  Janet,  would  be  home  soon  from  the  office. 
As  usuat,  the  study  was  filled  with  kids  playing  wiili 
the  computers. 

1  was  slicing  up  some  carrots  for  the  salad, 
when  I  heard  strange  grunting  noises  cotning  from 
I  he  suidy.  Were  the  kids  in  there  wrestling  among 
ihe  computers? 

Hurriedly  1  dried  my  hands  and  went  to  .see 
what  was  the  matter. 

When  I  got  to  the  study  door,  I  couldn't  believe 
what  I  saw.  A  flve-vear-old  boy  was  sianding  in 
front  of  One  of  the  floppy  disk  drives.  I  lial  was 
okay.  I  had  taught  all  the  kids  -  even  Eric  -  how  to 
insert  disks  properly  into  the  drive. 

But  this  kid  wasn't  inserting  a  disk.  He  was 
trying  to  shove  a  game  cartridge  into  the  drive.  He 
was  trying  to  scjueeze  an  inch-thick  plastic  box  into 
a  liole  designed  for  a  disk  only  a  sixteenth  of  an 
inch  thick.  He  grimted  loudly  because  he  was 
trying  so  hard.  He  knew  it  was  a  tough  thing  to  do, 
and  he  was  giving  it  his  best  sliot. 

Strategies  For  Survival 

Given  these  tales  of  abused  and  violated  computers. 


July,  1982,  Issue  26 


COMPUTEI 


B1 


what  is  the  best  strategy  for  mixing  young  people 
and  computers? 

You  could  put  a  lock  on  the  computer  room 
door  until  the  kids  all  turn  sixteen.  Or  until  they 
leave  home. 

You  could  keep  the  computer  in  the  car  trunk 
and  only  bring  it  in  the  house  after  the  kids  are 
asleep. 

You  could  even  Ibriify  the  computer,  beef  it 
up,  and  make  it  indestructible,  the  way  the  military 
does  with  computers  onboard  tanks,  guided  mis- 
siles, and  submarines. 

You  could  do  these  things,  but  I  would  advise 
against  it.  In  their  place,  I  would  advise  a  "Com- 
puter Orientation  Session,"  folKjwcd  by  frecjuent 
"refresher"  courses.  I  would  also  recommend  a  few 
simple  precautions.  And  trust  -  lots  of  trust. 

Based  on  my  experience,  I  know  that  even 
toddlers  can  be  tauglit  to  use  computers  properly. 

Sure,  ihere  are  lapses.  (Oh,  boy,  are  there 
lapses.)  But,  for  the  most  part,  Eric  and  his  little 
friends  do  an  amazing  job  with  the  computers. 
They  linn  them  on  and  off.  They  adjust  the  TV 
screen,  fhey  insert  antl  remove  disks  and  car- 
tridges, even  tapes.  They  know  how  to  call  up 
programs  and  operate  the  keyboard,  joysticks,  and 
other  controls. 

But  they  must  be  taught  first.  You  need  to  sit 
them  down  and  gcj  over  the  "eticjuette"  of  using  a 
computer.  Compare  it  to  the  family  pet.  You 
shouldn't  pull  its  tail  or  try  to  ride  on  it.  It  wouldn't 
like  that.  ^  r 


^^^ 


Instead,  you  need  to  be  gentle  with  it  and  take 
care  of  it.  If  vou  do  the  right  things,  it  will  be  nice 
to  you  and  give  you  pleasure. 

Frequent  drills  on  specific  rules  help  a  lot, 
here. 

It  would  help  if  yoLi  give  the  kids  some  respon- 
sibilities for  the  compiuers  care  that  are  just  their 
own.  Like  keeping  the  keyboard  free  of  cookie 
crumbs.  Keeping  the  screen  wiped  clean  of  finger- 
prints and  all  sorts  of  unmentionable  objects.  Or 
reporting  any  irregularities  sucli  as  wires  in  ihe 
wrong  place,  or  anything  that  looks  dangerous. 

Remind  the  kids  frequendy  that  computers 
run  on  electricity,  and  that  electricity,  like  fire,  can 
.serve  them  or  hiul  ihem. 

Also,  if  you  can  afford  it,  give  them  their  own 
floppy  disk,  cartridge,  or  tape.  Help  them  store 
their  favorite  programs  and  games.  Give  them  a 


small  case  to  store  their  printouts,  game  instruc- 
tions, and  other  computer-related  materials.  This 
way,  the  computer  will  become  partly  theirs.  As  its 
owners,  they  will  try  harder  to  care  for  the  computer 
antl  protect  it. 

The  following  precautions,  like  the  advice 
above,  are  just  common  sense.  For  example,  I 
learned  to  put  rugs  on  my  study  floor.  Then,  when 
computer  objects  dropped,  there  was  a  smaller 
chance  that  they'd  actually  break. 

Also,  back  up  all  your  important  programs 
and  files.  Then  keep  those  backup  copies  in  your 
office,  your  bedroom,  or  in  a  locked  safe.  I  can  tell 
you,  it's  a  lot  easier  to  keep  your  cool  when  your 
child  puts  yolu-  floppy  disk  in  the  toaster,  if  you 
have  a  backup  to  the  disk. 

Keep  all  plugs,  wires,  and  cables  (anything 
electric)  hidden  and  out  of  the  line  of  fire.  My  kids 
could  trip  on  a  paper  clip.  How  about  yours? 

Put  all  yoin-  equipment  on  lop  of  large,  stindy 
tables,  surrounded  by  lots  of  sturdy  chairs. 

Keep  your  cartridges,  disks,  tapes,  manuals, 
programs,  etc.  organized.  Make  everything  accessi- 
ble to  your  children,  Bui  make  them  respect  and 
adiiere  to  your  organization. 

Teach  them  standards.  All  devices  must  be 
shut  off  after  use.  Disks  and  tapes  must  not  be  left 
out  after  use.  Everything  has  a  place.  (Nag  them 
about  this  rule,  if  only  to  preserve  your  sanity.) 

Two  last  elements  of  strategy.  First,  try  hard 
not  to  get  upset  when  it  looks  Hke  your  kids  have 
done  something  to  the  computer.  Most  of  the  time 
things  are  a  lot  better  tlian  they  seem  at  firsi.  We've 
had  dozens  of  accidents  with  computers  here  at  the 
"D'Ignazio  Arcade,"  yet  we've  never  broken  a 
computer.  At  least  not  completely. 

Second,  don't  push  your  kids  to  use  the  com- 
puters. Yom-  three-year-t)ld  doesn't  have  to  use 
educalional  programs  to  benefit  from  the  com- 
puter. Your  six-year-old  doesn't  have  to  learn  to 
program. 

Just  the  exposure  to  computers  is  doing  your 
kids  a  world  of  good.  Just  switching  buttons  off 
and  on.  Or  tvping  letters  and  shapes  on  the 
keyboard  and  watching  ihem  appear  on  the 
screen. 

If  you  make  kids'  computer  time  synonymous 
with  drudgery,  with  work,  with  tension,  or  with 
pressure,  the  kids  won't  like  computers. 

Don't  push  the  kids,  just  open  the  door,  and 
sit  ba.ck  and  watch.  Computers  fascinate  kids,  and 
that  fascination  will  motivate  them  to  learn  on  their 
own . 

And  congratulate  yourself  on  your  accoin- 
plishmenl.  You  are  bringing  together  two  very 
different  worlds.  And  the  results?  The  results  are 
anybody's  guess.  O 


ATARI  HOME  COMPUTERS 


A 

ATARI 


ATARI  800 
16K...  $669 
32K  . . .  $749 
48K  . . .  $779 


410  Recorder _  _ S76.00 

810DiscDrive S449  00 

822  Prrnlei t269.00 

B25  Printer  $629.00 

830  Modem  S159.0O 

820  Prinler $269  00 

850  Inlerlace $169  00 

New  DOS  2  System $29.00 

CX30  Paddle S18  00 

CX4Q  Joy  Slick  .  . SIS. 00 


C)(853  16K  HAM  S77;9S~ 

Microtek  16K  RAM S64!9S 

Microtek  32K  RAM $99.95 

flamdish  (12aK) $429. 9S 

Inlec  48K  Board $199,95 

Inlec  32K $99.96 

Ail  RAM  prices  good  IlirQjgit  Juiy  1962  only 


One  year  extended  warranty        S70.00 

A81  Entertainer  $89.00 

482  Educator  St 30 00 

433  Progfamnier      .    $49.00 

484  Communicalo* $344  00 

ATARI  HOME  COMPUTER  PROGRAMS 

HOME  OFFICE 

CX404  ATARI  Word  Processor      S1 19.00 

CX6102  Calculalor 529.00 

CX4t  2  Dow  Jones  Investment  Evaiuator  ......      S99.00 

CX4109  Graph  It.  Joystick  oplrortal SI  7  00 

CX4t04  Mailing  List  .  S20  OO 

CX4115  Mortqatje  i  Loan  Analysis $1300 

CX4103  Slatistics  1  $20  OU 

CX8107  Stock  Analysis  S?0  00 

CXL40t5  TeleLink  1 $23  00 

HOME  STUDY 

CX4101  An  Invitalion  to  Prts^ramming  1  . . . $20.00 

CX4t06  An  Invitation  to  Programming  2 S23.00 

CX4117  An  Invitation  to  Pri3gramming  3  _ $23.00 

CX4107  Biorhythm  $1300 

Conversational  languages  (ea  )  .  $4&.00 

CX4121  Energy  Ciar $13,00 

CX41 14  European  Countries*  Capitals S13.00 

CX4ioa  Hangman.  Joystick  opitonal , $13.00 

CX4102  Kingdom $13.00 

CXL4007  Music  Composer $34.00 

CX4123  Scram,  uses  joystick $20.00 

CX4U2  Slates  4  Capitals    S13.00 

CX4t to  Touch  Typing $20.00 

HOME  ENTERTAINMENT 

PAC  MAN $35,00 

CENTIPEDE  $35.00 

CAVERNS  OF  MARS S32  00 

CXL40t  3  Asleroids $29.00 

CXL4004  Basketball - S27.0C 

CX4105  Blackjack - St  3,00 

CXL4009  Computer  Chess -    $29.00 

CXL401 2  Missile  Commafld $29.00 

CXL4Doa  Space  Invaders $29.00 

CXL4011  Star  RaidBis $39.00 

CXL4006  Super  Breakout $29.00 

CXL4010  3D  TicTacToe $27  00 

CXL4005  Video  Easel $24,00 

PROGRAMMING  LANGUAGES  AND  AIDS 

CXL4O03  Assembler  Editor  .  _ $47.00 

CXL4002  ATARI  BASIC $*7.00 

CXB126  ATARI  Microsolt  BASIC $70.00 

CXL4018  PILOT $72.00 

CX405  PILOT  (Educalionall $105.00 


ATARI  400 
16K...  $329 
32K...  $419 
48K...  $519 


ATARI  PROGRAM  EXCHANGE: 

Eastern  Front  "41   , , , $25.50 

Avalanche St  5.50 

Outlaw    $15.50 

747  Landing  Simulalion $15  50 

Babel    ..-. $15.50 

Dog  Daie $15.50 

Downhill ._ 515.50 

Attack! St 5.50 

Blackjack'Casino 515.50 

Reversi  II 51 5.50 

Dominalion  $15.50 

Solitare $15  50 

DiskFiier S1550 

Supersoft St  5  50 

Data  Management sis  50 

Chameleon   SI  5.50 

Instedil  $15-50 

Insomnia    $15.50 

My  FirsI  Alphabet $25  50 

Mapware $18  00 

Number  Blast .  St  1  50 

Family  Cash  Flow St  5  50 

Weekly  Planner 515.50 

Bowler's  Data  Base St  3  00 

Banner  Generator ..,,,,.  $1 1.50 

Crystal  Software 

Bermuda  Fantasy $26.00 

Beneath  Pyramids  . 520.00 

Galactic  Quest 526.00 

House  ol  Usher    $20.00 

Forgotten  Island $26.00 

Haunted  Palace $33.00 

Compumax  (Acct.  Rec.  Gen.  Ledger. 

Inventorv.  Payroll,  ea.j. S1 10.00 

Synapse 

File  Manager  800 569.95 

Dodge  Racei S19  00 

Chicken $24.00 

Slime 524  00 

Nautilus $24.00 

Disk  Manager $24.00 

Fort  Apocalypse .........  $24.00 

Assembler $39. OO 

Proleclor $24.00 

EXPY  lAutomated  Simulation! 

Ricochel S14.50 

Crush  Crumble  &  Chomp $24.00 

Star  Warrior $29.00 

Rescue  al  Rigel $24.00 

Dalestones   SI  6.00 

Invasion  Orion $18.50 

Mission  Asteroid $22.00 

OnLine 

Jaw  Breaker $27.00 

MouskATTACK $31.00 

TheNentStep $34.00 

Sollporn $27.00 

Wiizard  i  Princess $29.00 

Arcade  Plus 

Gnost  Hunler  (cassetle) $24.00 

Ghost  Hunter  (disk)    $30.00 

KByte 

K  BYTE  Kraiy  Shoot  Out  (ROMI $39.00 

K-DOS $69.00 

Visicalc $179.00 

Letterperlect  (Word  Processor) $109.00 

Data  Soil  Textwtaard $99.00 


Texas  Instruments 


TI.99/4A  ^299 

PHA2100  R  F  Modulator $29.00 

PHP  1600  Telephone  Coupler S179.(M 

PHP  1200  Peripheral  Expansion  Box.  S199  00 

PHP  1220  nS  232  Card $143.00 

PHP  1240  Disk  Controller $199.00 

PHP  1250  Disk  Drive $359.00 

PHP  1100  Wired  Remote  Controllers  (Pair) , .    .      $3100 

PHP  1260  32K  RAM. $229.00 

PHP  Printer  Solid  State $319.00 

PHM  3006  Home  Financial  Decisions $26.00 

PKM  3013  Personal  Record  Keeping $43.00 

PHD  5001  Mailing  Lisi $60.00 

PHD  5021  Checkbook  Manager $18.00 

PHM  3008  Video  Chess SBO.OO 

PHM  3010  Physical  Filness $26.00 

PHM  3009  Football ..$26.00 

PHM  3018  Video  Games  I $26.00 

PHM  3024  Indoor  Soccer $26.00 

PHM  3025  Mind  Challengers S22.00 

PHM  3031  The  Attack $35.00 

PHM  3032  Blasto $22.00 

PHM  3033  Blackjack  and  Poker $22.00 

PHM  3034  Hustle $22.00 

PHM  3036  Zero  Zap $18.00 

PHM  3037  Hangman $18.00 

PHM  3038  Connect  Four $18.00 

PHM  3039  Yahtzee S22.00 

Tombstone  City  21sl  Century $34.00 

Munch  Man     $34  00 

T  I  INVADERS $34  00 

CAR  WARS     $34.00 


Printers 


Smith  Carona  TPt $699.00 

Centronics  ?39.1 $519.00 

Centronics  739-3 $619.00 

Diablo  630  Special S1799.(X) 

Epson 

MX8Q  w(Gra(lrBl $449.00 

MXSOFT    Call 

MX  100 Call 

NEC 

8023 -  _ $549.00 

7730 Call 

7720 Call 

7710 Call 

Okidata 

e2A 5499.00 

83A    $749.00 

84 $1129.00 

Citoh  Starwriter 

F10.40  CPS S1469.00 

F10.55  CPS Call 

Prowriter S479.00 

Talley 

8024.L $1629.00 

IDS 

Prism SCall 

MPC  Apple  Parallel  Board  &  Cable $69.00 

2  Meter  RS232RS232 529.95 

Cables  Available  For  Most  Interlscmg  Purposes 


Computer  Covers 

ATTRACTIVE  OUST  COVERS  FOR  YOUR 
COMPUTER  AND  DISK  DRIVE 

Commodore  VIC  20.  S6.99 

Atari  400 56.99        Commodore    B032.  514.99 

Atari  aOO 56.99        Commodore 

AtariaiQ 5699        8050(4040   510.99 

All  Alari  Covers  are  All  Commodore  covers 

Beige,  are  Royal  Blue 


Most  software  for  Atari  400/600  available  on  cassette  or  disk. 


computer  mail  order  west 


CALL  TOLL  FREE 


Franco 

Habia 

Espanol 


800-  648-33 1 1 

IN  NEVADA.  CALL  (702)  588-5654 

P.O.  BOX  6689,  STATE  LINE,  NEVADA  89449 


HEWLETT 
PACKARD 


ilHMMMHIMiMi 

HP* 85   ^1899 

HP»e6      call 

HP'87 S1769  00 

HP- 125 ...S1999-00 

HP- 35  16K  Memory  Module S169.00 

5' . '  Dual  Master  Disc  Drive S1769-00 

Hard  Disk  wIFIoppy  - S4349.00 

Hard  Disk S3440.O0 

■Sweel  Lips"  Ploltei S1 149,00 

80  Colurm  Printer , S799,00 

B7  CPJM S399.M 

87  1 28K  Memory tBIO.OO 

87  Vlsicalc SZOS.OO 

HP»41CV  Calculator  ....  $239.00 

41C 1189,00 

11C 5104,00 

12C I1 1 4,00 

34C S1 1 4.00 

3BC S1 1 4.00 

HP-41  Printer S340,00 

HPIL  CALCULATOR  PERIPHERALS 

IL  Modual S104.OO 

Digital  Cassette S449.00 

Printeri'Plotter S419.00 

Card  Reader S1G4.aO 

Optical  Wand S99.00 


NEC 

SOOl-A ST49,0O 

B031 5749.00 

B012 5549  0(5 

Accounts  Peceivable S295  00 

Word  Processing S395 flO 

General  Accounting S295  DO 

Inventory  Control 5295  DO 

Job  Cosi 5295.00 


Disks 


Ma<ell 

MD  I  (bo«  ol  10) $36  00 

MD  IHboi  D(  10) S46  00 

MFD  1(8  )    S44,0O 

MFD  II  IS    Double  Densityl S54.IK1 

Syncom  (boi  oi  10) 529,00 


^commodore 


BUSINESS  MACHINES 

SOFTWARE 

Word  Pro  S  Plus 5319,00 

Word  Pro  4  Plus 5299.00 

Word  Pio  3  Plus 5199.00 

Commodore  Ta«  Pactcage 5589.00 

Visicalc $179.00 

Medical  Billing $449.00 

Ttic  Source $89.00 

OZZ  Inlormation  Syslem $289.00 

Dow  Jones  Portfolio $129.00 

Pascal $239.00 

Legal  Time  Accounting T 5449.00 

Word  Cralt  80 $289.00 

Power 579,00 

Socket-2Me 520.00 

Jinsam SCall 

MAGIS SCall 

CPA ICall 

Real  Estate  Package SCsll 

Ttie  Manager - $209.00 

Sodrom -  - $1 29.00 

BPI  Inventory  Control $319.00 

BPI  Job  Costing  5319.00 

BPI  Payroll 5319  00 

BPI  General  Ledger $329.00 

Creative  I  SAM 579.00 

Creative  General  Ledger 5229.00 

Creative  Accounts  Receivable S229.O0 

Creative  Inuenlory $229.00 

VIC  20   5239 


COMPLETE 

CALL  FOB  AVAILABILITY  AND  PRICE 
FORNEWVIC-64 

VIC  6  Pack  Program ...  544.00 

VIC  1530  Commodore  Dalassette 569.00 

VIC  1540  Disk  Drive $499.00 

VIC  1515  VIC  Graphic  Printer S339.O0 

VIC  1210  3K  Memory  Eipande. 532.00 

VIC  1 10  6K  Memory  Expander $53.00 

16K  VIC  Enpansion  599  00 

VIC  101 1  RS232C  Terminal  Interlace 543.00 

VIC  1112  VICIEEE-48ainteriace SS6.00 

VIC  1211  VIC  20  Super  Enpandcr $53.00 

VT  232  ViCTerm  I  Terminal  Emulator $9.00 

VIC  1212  Programmers  Aid  Cartridge $45.00 

VIC  1213  VICMON  Mactime  Language  Monitor    .  54$.00 

VIC  1901  VIC  AVENGERS 523.00 

VIC  1904  SUPERSIOT    523.00 

VIC  1906  SUPER  ALIEN 523.00 

VIC  1907  SUPER  LANDER S23.0O 

VIC  190B  DRAW  POKER - 523.00 

VIC  1909  MIDNIGHT  DRIVE 523.00 


CBM  8032 
51039 

4032 $969.00 

4016 5769.00 

8096  Upgrade  KrI $369.00 

Super  Pet It 599.00 

2031 5529.00 

8250  Doubled  Sided  Disk  Drive $1699.00 

5  Megabyte  Hard  Disk $2399.00 

8050  .    .  ..      51299.00 

4040  .      5969.00 

8300  (Letler  Quality) $1799,00 

8023  5769  00 

4022        5599.00 

Pet  to  IEEE  Cable .  $37  00 

IEEE  to  IEEE  Cable 546.00 

Tractor  Feed  for  8300 $240.00 

'  C""™—  UI02D  ' 


Terminal $13.00 

Un  Word $13.00 

Gratis  Menagerie $11.00 

VIC  PICS $1500 

Tickei  Tape $13.00 

Banner  Headliner 513  00 

RS  232 , -  .  539.00 

VT  lOSA  Recreaton  Pack  A 544.00 

VT107A  Home  Calculalion  Pack  A S44.0C 

VT  164  Programmable  Ctiaracler/Gamegraphics   512.00 
Household  Fmance  527.00 

VIC  Games 519.00 

VIC  Home  Invenlory 513  00 

VIC  ReclEd  II  $13  00 

VLIOl  Inlroduclion  to  Computing $19.00 

VL  102  Introduction  to  BASIC  Programming $19.00 

VMl  10  VIC  20  Programmers  Reteience  Guide  .  .    515.00 


Apple 


Call  for  availabiUiy  and  prices 
on  all  Apple  computers  and  periptierals 


In-Stock  items  shipped  same  day  you  call.  No  risk,  no  deposit  on  C.0.0. 
orders.  Pre-paid  orders  receive  free  shipping  VKithin  the  continental  United 
States  t(vith  no  waiting  period  lor  cerliiied  checks  or  money  orders.  All 
prices  shown  are  cash  prices.  Add  3%  lor  Mastercard  and  Visa,  NV  and 
PA  residents  add  sales  tax.  All  items  subject  to  availability  and  price  change. 


Televideo 

910 $579.00 

912C S699.0O 

920C   $749.00 

925C  .• 5749  00 

950 $939,00 

Calllor  computers 

a02 call 

802H call 

816    .- C3l 

306 call 


Monitors 

BMC  12"  Green $85.00 

Amdek 

300G si6g 

Color  I J339 

Color  II J699 

Color  III J429 

Tl  10  ■  Color  $349.00 

Zenith  9  men  (Green) J1 19,00 


Modems 


Hayes 

Smarl      5239  00 

Ctironograpti S199.00 

Micromodem  n 5279.00 

Micromodem  100.  S309  00 

Novation  Aulo        $239  00 

DCal  $16900 

Cat  515900 


Nev.  &  Pa.  residents  add  sales  tax. 


computer  mail  order  east 


CALL  TOLL  FREE 


800-233-8950 

INTERNATIONAL  CALLS  AND  IN  PA.  CALL  (717)  327-9575 

477  E.  THIRD  ST..  WILLI  AMSPORT,  PA  17701 


Palncto 

Habia 

Espanol 


84 


COMPUTE! 


July.  1982.  Issue  26 


With  versions  for  the  VIC  and  Atari  computers,  this 
program  illustrates  how  to  make  games  and  learning 
programs  easy  for  preschoolers  to  use. 

Answer 
Selection  With 
Joysticks 


is  an  explanation  of  the  program  by  line. 


Stephen  Levy 
Bowie,  MD 


One  oi  my  major  objectives  in  purcliasing  a  com- 
puter was  to  create  educational  programs  Cor  my 
young  son.  Realizing  that  a  preschool  child  might 
have  difficulty  using  the  keyboard,  I  decided  that 
using  the  joystick  to  input  responses  was  the  answer. 
Not  that  learning  to  use  the  keyboard  is  not  impor- 
tant, but  if  that  is  not  the  purpose  of  the  program, 
it  might  get  in  the  way  and  cause  frustration. 

Al  Baker's  two  articles  in  COMPUTEf's  First 
Book  Of  Atari  gave  me  ideas  and  the  little  extra 
push  1  needed. 

The  purpose  of  this  educational  program  is  to 
give  a  young  child  practice  in  deciding  which  of 
four  words  is  different  from  the  other  three  on  the 
screen.  The  child  uses  the  joystick  to  make  his 
selection  and  is  allowed  as  many  tries  as  needed. 
Once  the  correct  response  is  picked,  a  short  expla- 
nation appears  and  the  child  can  then  decide 
whether  to  do  another  problem  or  to  end  the  pro- 
gram. All  this  is  done  with  the  joystick. 

The  program  is  very  straightforward.  All  data 
for  problems  are  in  lines  20  to  199,  with  even- 
numbered  lines  containing  the  words  and  explana- 
tions in  the  odd-numbered  lines.  I  have  included 
only  four  series  of  words  (lines  20,22,24,26)  so  that 
the  reader  may  add  his  own.  You  must  adjust  line 
220  to  equal  the  number  of  even-numbered  data 
lines  (total  series  of  words);  in  my  example  there 
are  only  four. 

example:   220  Q=  INT(RND(0)*A)  -I-  10:RESTORE  Q*2 
where  A  equals  the  number  of  problems. 

Lines  210-215  randomly  select  the  background 
colors. 

Since  my  purpose  is  to  demonstrate  the  use  of 
the  joystick  in  an  educational  program,  I  have  not 
added  any  graphic  displays,  but  I  would  suggest 
"dressing  up"  the  program  for  use  with  young 
children  in  order  to  maintain  their  interest.  Below 


Lines 
5-10 
20-27 
28-199 


200 

210-215 

220 

230-270 
300-350 

360 

385-390 

395 

400-420 

440-470 


Inilialization. 

Data  for  questions. 

To  be  used  for  additional  data  for  questions. 

Data  placed  as  follows: 

FoLirchoices,  then  joystick  position  ofcorrect 

answer.  I  n  the  or  der  iliui  they  appciir  in  data 

line.  If  the  fnst  an.swer  is  correct  then  ihe 

number  should  be,  14;  second,  i  1 ;  third,  7; 

fomth,  13. 

.Sets  mode  and  turns  off  cursor. 

Randomh'  selects  backgroiitid  col<jr  and  print. 

Randomly  seicct.s  dai;i  (o  be  u.sed.  The  number 

niultiplied  by  RN  D(0)  should  be  equal  to  the 

number  of  questions. 

Reads  data  and  positions  words  on  screen. 

Posiiions  (a  symbol  in  thedirection  of  user's 

answer. 

C^ibecks  for  correct  answer. 

Clears  @  from  incorrect  answer. 

Gives  user  another  try  at  the  same  question. 

Reads  and  prints  explanations  on  screen. 

Gives  user  the  option  of  another  problem. 


Program  1 .  Atari  Version 

1  REM  D^JDYSfTICK 

2  REM  STEPHEN  LEUY 

3  REt1  3511   nORLOCK  LN..  BOWIE,   110.28715 

4  REM  301-464-2852 

5  DI  h  Q 1  *(  20 ) ,  Q2$(  28 ) ..  Q3$(  2S )  >  Q4l-(  28 )  ^  E$ 
(48>.  B$(  1  ),C$(  1  >.CLEhR*(  1  > 

10  e$="   "  =CLERRt=CHR;$(  125)  =  Ct-="(»" 
15  GOTO  200 

20  DATA  APPLE.. F-EAR^HhT. ORANGE;? 

21  DATA  HAT  IS  mi  A  FRUIT 

22  DATA  A.E,.I..S.13 

23  DATA  'S'    IS  HOT  A  '.JOl€L 

24  DATA  BLUE.i:REEN..RED..SADa3 

25  DATA  THESE  HDRDS  hF£  COLORS 

26  DATA  AF€ ..  AFf IE ..  ATE .  FUH .  1 3 

27  DATA  THESE  I'fjRDS  BEGIN  WITH   'A' 
200  GRAPHICS  2^ POKE  752.1 

210  C=RHD(0):nt.^5ETCuLOR  L3.2  =  SETCuL0R 

4.C..8:SETC0LUK  2j11..S 

215  SETCULOR  e.C.l 

220  Q=IHTkRND(0):^4)+10^  RESTORE  Q*2 

230  REAU  Cllf-..Q2f-..Q.Jf..i:.!4$..A 

248  POSITION  10-IHT((LEH(Ql$))/£).  l^PRIH 

T  #b;Ql$ 

259  POSITION  10-IHT((LEhi(Gi4$)y2).9^PRIN 

T  #6;Q4* 

266  F-OSITION  14. 5  =  PRINT  #6;Q3J 

270  POSITION  7-LEN<Q2$;'..5:pRINT  fe";Q2* 

2'80  F-RINT   =Pi^;lNT  =  PRINT  "PUSH  STICK  IN  T 

^€  DIRtCTIOH  OF" 


NEW  WORLD  OF  SOFTWARE. 


Scene  from  BETA  FIGHTER  during  creation  using  the  DRAWPIC  graphics  editor. 


HODGE  PODGE:  by  Marsha  Meredith 

(Atari  and  Apple) 
NOW  AVAILABLE  FOR  ATARI!!!  This  captivating 
program  is  a  marvelous  learning  device  for  children 
from  18  months  to  6  years.  HODGE  PODGE  consists 
of  many  cartoons,  animation  and  songs  which  appear 
when  any  key  on  the  computer  is  depfessed.  A  must 
for  any  family  containing  young  children. 
PRICE $19.95  diskette 


C  PM  EDITOR:  by  Dennis  Zander  (Atari.  16K) 

Create  your  own  fast  aclmn  graptiics  game  for  the 
Alan  400  or  800  using  its  o'ayer  missile  graphics  lea 
lures  By  usingpiayer  data  stored  as  strings,  players  can 
be  moved  or  changed  (for  animation)  at  machine  Ian 

?;uage  speed  All  ihis  is  done  witf>  string  variables 
P0S(Y)=SHIP1)  Ttiis  program  is  designed  (o  permit 
creation  of  up  to  'I  players  on  the  screen,  store  mem  as 
string  data  and  then  immediately  try  tfiem  out  in  the 
demo  game  inrluded  in  itie  progra!^:  Instructions  tor 
use  in  your  own  game  are  included  PI^  EDITOR  was 
used  10  create  itie  ammatpd  characters  in  ARTIffORX 
RirjGS OF  THE  EMPIRE  andENCOUNTER'kT  QUEST AR  IV. 
PRICE  J29.95 cassette  J33.95diskette 

D  ROCKET  RAIDERS  by  Ricnard  Petersen  (AIari2ilK) 
Defend  your  .^siemid  base  against  pulsar  bombs,  roc 
kets,  lasers  and  the  dreaded  stealth  saucer  as  aliens 
attempt  to  penetrate  ypiir  protective  force  field  Prec  se 
target  sighting  allows  you  to  lire  at  the  enemy  using  mag 
nefic  impulse  missiles  to  help  prctect  your  colony  anfl 
Its  vital  structures 
PRICE  S19.95 cassette  $23.95  diskette 

L  FOREST  FIRE  TVVO:  Sy  Richard  Petersen  (Atari  24K| 

FOREST  FIRE  lias  been  entianced  and  npw  offers  a  twn 
player  mode  foi  head  to  tiead  con^petitinn  to  see  who  can 
survive,  suffer  the  least  damage  and  put  (heir  fire  out  first. 
User  input  now  deterrnines  landscape.  ;\ind  and  weattier 
conditions,  offering  limitless  game  variation.  FOREST  FIRE'S 
excellent  cotor  graphics  have  been  made  even  better,  turning 
your  computer  inln  a  super-detailed  fire  scanner. 
PRICE S16.95  cassette  S20.95disk(;ttp 

□  GIANT  SLALOM:  by  Dennis  Zander  (Atari.  16K) 

BringtheWinterOlympicstOyourcomputeranytimeot 
the  year'  Use  the  loystick  to  guide  your  sliier's  path 
down  a  giant  slalom  course  consisting  ol  open  and 
closed  gates  Choose  from  ihree  levels  of  difficulty 
Take  practice  runs  or  compete  against  from  two  to 
eight  additional  skiers. 
PRICE  JlS.SScassetle  $19.95 diskette 

aTHEPREDICTORbyThomasearker 

(Apple  Atari  TRS  BO  NorthSlarandCPM  (M  BASIC) 
This  IS  a  complete  package  that  covers  least  squares 
fittirig  of  parameters  lor  two  or  more  variables  THE 
PREtJiCTOR  can  be  used  for  predicting  sales  and  pro 
cess  behavior,  trend  analysis,  model  buildmg  and  many 
other  uses  calling  for  multilinear  regression  techniques 
Each  option  in  the  program  is  prompted  with  simple 
vES/NOcommandsmakingii  vary  easy  louse 
PRICE  129,95  diskette 


D  PILOT:  by  Ivlichael  Piro  (Atari,  16K) 

Pilot  your  small  airplane  to  a  successful  landing  using 
both  loysticlis  to  control  throttle  and  attack  angle.  PILOT 
produces  a  true  perspective  rendition  of  the  runway. 
which  IS  constantly  changing  Select  from  two  levels  ol 
pilot  proficiency 
PRICE  ,.  $16.95cassette  $20.95diskette 

!J TEACHER'S  PET:  by  Arthur  Walsh  (Atari,  Apple. 

TRS  80.PET,  North  Star  and  CP'  M  iMBASIC)  systems) 
This  IS  an  introduction  tp  computers  as  well  as  a  learn 
ing  tool  for  the  young  computerist  (ages  3  7)  The  pro 
gram  provides  counting  practice,  letter  word  recognition 
and  three  levels  of  math  skills, 
PRICE  $14.95cassetle$18.95diskelte 

D  MAIL  LIST  3.0:  (Atari.  Apple  and  Nodh  Star) 

The  veri'  popular  MAIL  LIST  2  2  has  now  been  up. 
graded  Version  3  0  offers  enhanced  editing  capabilities 
to  complement  t  he  many  other  featu  res  which  have  made 
this  program  so  popular  MAIL  LIST  is  unique  m  its 
ability  to  store  a  maximum  number  of  addresses  on  one 
diskette  (typically  between  1200  and  2500  names') 
Entries  can  tie  retrieved  by  name,  keywprdis)  or  Oy  zip 
codes  They  can  t>e  written  to  a  printer  or  to  another 
file  for  complete  file  management.  The  program  pro- 
duces 1.  2  or  3-up  address  labels  and  will  sort  by  zip 
code (5  or  9  digits)  or  alphabeticaliy  (by  last  name).  Files 
are  easily  merged  and  MAIL  LIST  wiil  even  find  and 
delete  duplicate  entries!  The  address  files  created  with 
filAIL  LIST  are  completely  compatible  with  ARTWORX 
FORf^  LETTER  SYSTEM 
PRICE  $49.95  diskette 

n  THE  VAULTS  OF  ZURICH:  by  Felix  and  Greg  Herlihy 
(Atari. 24K.  PET) 
Zurich  IS  the  banking  capital  of  the  world  The  nch  and 
powerful  deposit  their  wealth  m  its  famed  impregnable 
vaults.  But  you,  as  a  master  thief,  have  dared  to  under 
take  the  boldest  heist  of  the  century  You  will  journey 
down  a  maze  of  corridors  and  vaults,  eluding  the  most 
sophisticated  security  system  in  the  world  'yciur  goal  is 
to  reach  the  Chairman's  Chamber  to  steal  the  most  trea- 
sured possession  of  all  THE  OPEC  OIL  DEEDS' 
PRICE  $21.95  cassette   $25.95  diskette 

D  BRIDGE  2.0  by  Arthur  Walsh  (Atari  (24K)  Apple 
TRS-80.  PET,  North  Star  and  CP/M  (MBASIC)  systems) 
Rated  «1  by  Creative  Compubng,  BRIDGE  2  0  is  the 
only  program  that  allows  you  to  tXJin  bid  tor  the  contract 
and  play  out  the  hand  (on  defense  or  offense!).  Interest- 
ing hands  may  be  replayed  using  the  "duplicate'  bridge 
leature.  This  is  certainly  an  ideal  way  to  finally  learn  to 
play  bridge  or  to  get  into  a  game  when  no  other  (human) 
players  are  available 
PRICE  $17.95ca55ene  $21.95 diskette 

□  ENCOUNTER  AT  QUESTAR  IV:  by  Douglas  McFarland 
.     ^  ,  ,  „  (Atari. 24K) 

As  helmsman  of  Rikar  starship,  you  must  defend 
(Juestar  Sector  IV  from  the  dreaded  Zentanans  Using 
your  plasma  beam,  hyperspace  engines  and  wits  to  avoid 
Zentarian  mines  and  death  phasers.  you  struggle  to  stay 
alive.  This  BASIC/Assembly  level  program  has  super 
sound,  full  player  missile  graphics  and  real  time  action 
PRICE  $21 .95  cassette  $25.95  diskette 


NEW  PROGRAMS! 


HAZARD  RUN;  by  Dennis  Zander  (Atan,,  !6K) 

The  sheriff  has  spotted  you  and  you  must  make  the 
treacherous  run  through  Crooked  Canyon  past 
Bryan's  Pond  to  the  jump  at  Hazard  Creek  and  safety. 
You  can  even  put  theioystick-controlled  GEE  LEE  car 
up  on  two  wheels  to  n-.ake  it  thrpugtj  some  tight  spots. 
A  lead  foot  is  not  always  the  answer  as  you  dodge 
trees,  rocks  and  chickens  in  this  nerve-racking  game. 
HAZARD  RUN  employs  full  use  of  player/missile 
graphics,  re-defined  characters  and  fine  scrolling 
techniques  to  provide  loads  of  fast  action  and  visual 
excitement. 
PRICE $27. 95  cassette  S31.95disket(e 

BETA  FIGHTER:  by  Douglas  fvlcFarland  (Atari.  16K) 
See  who  wil  I  be  the  ace  gu  nner  in  this  action  game 
set  on  a  spectacular  Martian  landscape.  BETA 
FIGHTER  can  be  played  with  one  or  two  players  and 
uses  player/missile  graphics  and  delightful  sound 

price! S16.95  cassette  $20.95  diskette 

DfiAWPlC:  by  Dennis  Zander  (Atari  16K) 

DRAWPIC  provides  the  user  with  an  unbelievably 
easy  way  to  create  screens  m  graphics  modes  3-7. 
Just  sit  back  with  your  joystick  and  use  POINT  PLOT, 
DRAW  LINE,  RUBBER  BAND  fill  and  COLOR  SET  to 
create  beautiful  images  on  your  Atari.  Full  or  partial 
screen  images  are  saved  as  string  data  in  the  program 
and  can  tje  instantly  recalled  and  combined  into  new 
images  using  machine  language  subroutines.  These 
graphic  images  can  be  easily  incorporated  into  your 
own  programs.  The  imagesof  HODGE  PODGEand  the 
landscape  of  BETA  FIGHTER  were  made  using 
DRAWPIC. 
PRICE ,J29.95  cassette  S33.95  diskette 

POKER  TOURNEY:  by  Edward  Grau 

(Atari  32K,Northst3r) 
You  are  entered  in  a  high  stakes  Draw  Poker 
Tournamefit  facing  six  opponents  including  Lake- 
wood  Louie,  Shifty  Pete  and  Dapper  Dan.  Each  has 
hisown  style  of  play  and  of  bluffing.  POKER  TOUR- 
NEY uttlizesthe  Joker,  has  true  tablestakesplayand 
each  hanij  is  played  based  on  pot  odds.  The  Atari 
version's  graphics  and  sound  are  superb  of  Course 
(programmed  by  Jerry  White)  making  POKER 
TOURNEY  the  class  program  of  its  type. 
PRICE $18.95  cassette  $22.95  diskette 


ORDERING  INFORMATION 


Call  ARTWORX  toll-free  number  to  order 

direct: 

800-828-6573 

In  New  York,  Alaska.  Hawaii  call: 

(716)  425-2833 

All  orders  are  processed  and  shipped 

within  48  hours. 

Shipping  and  handling  charges : 

Within  North  America:  Add  $2. 00 

Outs  ide  North  America:  Add  10%  (Air  Mail) 

New  York  State  residents  add  7%  sales  tax 

Quantity  Discounts: 

Deduct  10%  when  ordering  3  or  more 

programs 

Ask  for  ARTWORX  at  your  local  computer 
store. 

Write  for  FREE  Catalogue  listing  more 
information  about  these  and  other  quality 
ARTWORX  programs. 


L50  North  Mam  Street     Fairport,  NY  14450 


66 


COMPUTII 


July,  1982,  Issue  26 


296  PRINT  ^F-RIHT  " 


CI3RRECT  HKSi€R." 


360  IF  STICK(0>=15  THEN  FffilTION  10, 5^ PR 
INT  tt6;C$=G0T0  300 

310  IF  STICK/; 0X>15  THB-J  PttSITIOH  18.5 :p 
Rlhrr  tt6;B$ 

315  SOUMD  0.96..  ie>18^FijR  Sl=l  TO  20:t€XT 
SI 
320  IF  STICK-: 0)=14  THEN  PCeiTIOH  lU.l^PP 
INT  #6;C* 

330  IF  STICK(0>=11  THEN  FiDSITIOH  S.S^PPI 
MT  #6;  CI 

335  SOUND  8.60..  10;  8 : PCS:  Sl=l  TO  20:r€KT 
SI 

340  IF  STICK(0>=7  THEN  POSITIOH  12.5:pPI 
NT  #6;C$ 

345  SOUND  0.6..  0.0 

350  IF  STICK(6)=13  THEN  POSITION  IS, 7^ PR 
INT  #6; CI 

360  IF  STICK(0)=R  TF€N  GOTO  408 
370  Ff:IHT  CLEftRI^ PRINT   ^PRINT  "FIEhSE  TR 
Y  W^IiTHER  Aha€R" 
372  FOR:  X=l  TO  100  =  bEXT  X 
375  FOR  Sl=l  TO  150^SOmD  6.200. 16.8^  }€X 
T  SI 

380  FOR  Sl=l  TO  100  =  SOU€  6.230. 18. S^f€X 
T  SI 

381  SOUND  0.0.0.6 

385  FOR:  X=3  TO  7  STEP  4  =  POSITION  10.X  =  PR 

INT  #6;BIT€XT  X 

390  F-OSITION  S.S^F-RINT  tt6;B$-P0:5ITION  12 

.S^F-RINT  #bjBI 

395  UJTO  "280 

400  RESTORE  (Q;r2>+1 

416  F£ftD  El 

420  F-RINT  CLEARfj"i:»JD.   ";E$ 

425  FOR  S2=l  TO  70  =  S3=INT(RMD<6)*50H56^ 

SOUbC  0.33.10.8^ FOR  Sl=l  TO  7=HEXT  SI 

427  S0Ur4D  6. 0.8.0^  NEXT  S2 

440  Ft! NT   : PRINT  "PRESS  BUTTON  FOR  hNOTH 

ER  F'ROBLEtl" 

450  PRINT   ^PF'INT  "  FISH  STICK  TO  END 

II 

460  IF  STRI&:6>=6  THEN  GOTO  Im 

470  IF  STICK-; 0;'=15  THEN  GOTO  466 

480  FfaNT   ^F-RINT  ^  PRINT  "  G 

Art  OUER" 

490  FOR  X=l  TO  1000  =  b£XT  X 

5^  GRAPHICS  0 


Program  2:  VIC  Version 

10    DD=37154:P1=37151:P2=37152 
15    GOTO    200 

20  DATA    APPLE, PEAR, HAT, ORANGE, 1 

21  DATA    HAT    IS    NOT    A  FRUIT 
2  2    DATA    A,E,I ,S,2 


23  DATA    'S'     IS    NOT   A  VOWEL 

24  DATA    SAD, BLUE, GREEN, RED, -2 

25  DATA    THESE    WORDS    ARE    COLORS 

26  DATA    APE, FUN, ATE, APPLE, -1 

27  DATA  THESE  WORDS      BEGIN  WITH  'A' 
200  PRINT" {CLEAR} " 

210  Q=INT(4*RND(1)+1) 
220  RESTORE 
230  FOR  1=1  TO  Q 
240  READ  Q1$,Q2$,Q3$,Q4$,A,AN$ 
250  NEXT 

2  60  PRINT" {RED} ";TAB(ll-LEN(Ql$)/2)  ;Q1S;"{0 
5  DOWN}" 

270  PRINT" { CRN } "TAB (11-LEN(Q4$)/2);Q4$;"{ 04 

UP}" 
280  PRINTTAB{14) ;"{PUR}"Q3$ 
290  PRINT" [UP) {CYN}"TAB(7-LEN(Q2S));Q2S;"{B 

BLU}" 
300  PRINT" {04  DOWNJPUSH  STICK  IN" : PRINT"DIR 

ECTION  OF  THE" 
310  PRINT"CORRECT  ANSWER 

320  PRINT" {HOME} {04  DOWN} " ; TAB ( 10 ) ; "Q " 
330  GOSUB  500:IFH=0ANDV=0THEN330 
340  PRINT" {HOME} {04  DOWN} " ; TAB ( 10) ; "  " 
350  PRINT"(HOME} {03  DOWN} " ; LEFT$ ( " { 02  DOWN} 

",1+V) ;TAB{10+H) ;"Q" 
360  IFCV*2+H)=A  THEN  400 
370  PRINT" {CLEAR}PLEASE  TRY  AGAIN" 
380  GOTO  220 
4  00  PRINT" {07  DOWN} "; PRINT" {REV}GO0D,  ";ANS 

410  PRINT:PRINT 

415  GOSUB500:IF(V*2+H)=ATHEN415 

420  PRINT" {D0WN}PUSH  STICK  FOR  ANOTHERPROBL 

EM" 
430  PRINT"PUSH  { RED} BUTTON{ BLU}  TO  END" 
440  GOSUB500:IF(HORV)THEN200 
450  IFFB=0THEN440 
460  PRINT" {DOWN}    GAME  OVER" 

499  END 

500  REM  JOYSTICK  SUB 

510  POKEDD,127iP=PEEK{P2)AND128 

520  H=-{P=0) 

530  P0KEDD,255:P=PEEK(P1) 

540  V=-{(PAND8)=0) 

550  H= ( {PAND16) =0)+H 

560  V={ {PAND4)=0)+V 

570  FB=-( (PAND32)=0) 

580  RETURN  ® 


The  above  is  a  graphics  8  screen  printout  on  the  EPSON,  with  our  new  AESD  Il(tm). 
It  was  drawn  with  Versawriler graphics  tablet . 

•  ••••••••••••••*••••••••••••••••••••••• 


002  ATARI  EPSON  SCREEN  DUMP  II 

This  is  a  screen  dump  program  which  allows  you  to  copy 
anything  from  the  screen.  It  also  supports  all  graphics 
modes  and  text  modes.  II  supports  all  the  features  of  the 
EPSON(tm)  MX-80  and  MX-100.  The  program  is  in  machine 

language  and  is  relocatable (C)  $26.95 

{D)  $29.95 

005  BINARY  LOAD  CASSETTE  TO  DISK 

This  utility  will  tal<e  binary  load  cassette  files  lil<e  SPACE 
INVADERS  (tm)  and  allow  their  transfer  to  disl<.  No  more 
waiting  for  loading!  The  duplicate  is  AUTO-BOOTING  and 
uncopyable (D)  $21 .95 

007  DOWNLOADER 

This  is  a  true  SMART  TERMINAL  EMULATOR  PROGRAM 
which  allows  you  to  upload  and  download  files  between 
computers  and  save  to  DISK,  CASSETTE,  or  a  PRINTER. 
ALSO  WORKS  WITH  THE  D.C.  HAY'S  SMARTMODEM. 

(C)  $26.95 

(D)  $29.95 

009  ELECTRONIC  CALCULATOR 

This  program  is  a  tool  for  the  electronics  hobbyist.  It  makes 
the  necessary  resistive  and  capacitive  calculations  for  both 
series  and  parallel  circuits.  It  shows  formula,  decodes 
resistors,  plus  power  calculations  lor  both  AC  and  DC 

circuits (C)  $19,95 

(D)  $21.95 


011  ELBBARCS 

This  is  a  word  game  program  which  is  In  high  resolution 

graphics (C)  $19.95 

(D)  $21-95 

012  UTILITY  PAK  1 

These  four  utility's  are  for  the  serious  programmer.  XREF 
is  a  variable  cross  reference  utility  which  tells  you  where 
and  when  a  variable  is  used  in  a  program.  VARIABLE- 
CHANGER  is  a  program  that  allows  you  to  easily  change 
the  name  of  any  or  all  of  the  variables  in  your  program.  Lister 

and  Denumber  are  also  included (C)  $19.95 

(D)  $21.95 

013  PtE  BAR  UTILITY 

This  utility  is  designed  to  provide  a  screen  dump  capability 
for  the  ATARI®  GRAPH  IT(tm)  using  EPSON®  MX-80 
printer.  Features  STORAGE  and  RECALL  of  both  Pie  and 
Bar  Charts.  Runs  in  32K  of  RAM  Screen  Dump  feature  can 

be  used  separately  in  24K  of  RAM.  (C)  $19.95 

(D)$21.95 

014  BACKUP  MASTER 

A  machine  language  program  that  allows  you  to  mal<e 
backup  copies  of  boot  load  diskettes.  Also  displays  any  sec- 
tors that  the  disk  drive  had  trouble  reading  and  skips  over 
them (D)  $39.95 


CQIUPJTEH  FIEE  SQI^TlsiaHE 


9433  GEORGIA  AVE. 

SILVER  SPRINGS,  MD  20910 

(301)  588-6565 


CASH,  CERTIFIED  CHECK, 

MASTERCARD  &  VISA  ACCEPTED 

FOR  IMMEDIATE  SHIPMENT. 


PERSONAL  CHECKS 
ALLOW  10  DAYS  TO  CLEAR. 


COMPUTE! 


July,  W82,  Issue  26 


Learning  With  Computers 

Teaching 
Johnny  To 
Program 

Glenn  Kleiman 

Teaching  Tools:  Microcomputer  Services 

Polo  Alto,  CA 


I  expect  within  the  next  few  years  someone  will 
write  a  book  charging  many  schools  with  a  mis- 
guided approach  to  teaching  children  about  com- 
puter programming.  This  book,  probablv  entided 
Why  Johnny  Can't  Program,  will  claim  that  teaching 
LOGO  is  the  only  proper  approach,  and  that  teaching 
BASIC  is  almost  evil.  Such  extreme  claims  have 
already  been  made.  For  example,  Seymour  Papert, 
a  leading  advocate  of  LOGO,  has  written  in 
Mindstonm:  Children,  Computers  and  Powerful  Ideas: 

[It  is]  as  unacceptable  for  children  to 
enter  ilie  computer  culture  by  learning 
computer  languages  such  as  BASIC!  as  it 
would  be  to  confme  their  access  to  English 
poetry  to  pidgin  English  translations 
(p.  211). 

BASIC  is  the  standard  language  for  all  personal 
computers.  LOGO  is  a  newer  language,  available 
for  Apple  II  and  TI  99/4  computers  and  being 
developed  for  several  others.  The  advocates  of 
LOGO  claim  it  should,  and  will,  replace  BASIC  — 
especially  for  teaching  children.  In  order  to  evaluate 
this  claim,  we  first  must  consider  what  features  we 
want  in  a  computer  language  taught  to  children. 

What  Children  Need 

1 .  The  language  should  make  small  but  inter- 
esting programs  easy  to  write.  This  is  useful  for 
motivating  students  and  alleviating  anxieties  about 
programming. 

2.  The  language  should  make  it  easy  to  debug 
programs.  Beginners  quickly  realize  the  need  for 
exactness  in  programming  but  have  trouble  getting 
all  the  details  right.  Clear  error  messages  and  other 
features  that  facilitate  debugging  prevent  a  lot  of 
frustration  in  teaching  and  learning. 

3.  The  language  should  be  designed  for 
working  with  piclines  and  words.  Most  people, 
particularly  young  people,  would  rather  use  com- 
puters to  create  pictures  and  dialogues  than  to 
solve  mathematical  problems. 


4.  Learning  the  language  should  provide  a 
good  basis  for  learning  more  advanced  pro- 
gramming. The  students  should  master  concepts 
common  to  all  computer  languages  and  develop 
good  programming  techniques. 

5.  The  language  should  be  compatible  with 
the  ways  children  think,  and  working  with  the 
language  should  facilitate  the  development  of 
general  thinking  skills. 

Comparing  BASIC  and  LOGO 

Now  that  we  have  some  criteria,  how  do  BASIC 
and  LOGO  compare? 

Ease  of  getting  started.  BASIC  and  LOGO  were 
both  designed  with  novice  programmers  in  mind. 
In  either  language,  you  can  write  small  programs 
with  a  ie%v  simple  commands.  The  programs  will 
be  of  different  types.  A  typical  first  BASIC  program 
performs  simple  mathematical  operations  such  as 
converting  between  centigrade  and  fahrenheit 
degrees.  A  typical  first  LOGO  program  creates 
shapes  such  as  squares  and  triangles. 

Ease  of  debugging.  BASIC  and  LOGO  are  both 
interactive  or  conversational  languages.  When 
using  an  interactive  language,  you  can  get  im- 
mediate responses  from  the  computer  without 
having  to  go  through  any  other  steps  (such  as  the 
compiling  step  required  with  many  languages). 
This  makes  it  easier  to  find  and  correct  errors  in 
programs.  With  either  BASIC  or  LOGO  you  can 
stop  a  program  at  any  time,  ask  the  computer 
quesdons  such  as  the  values  of  variables,  and  then 
continue  the  program  from  where  it  was  stopped. 
The  two  languages  also  give  helpfid  information 
aboiu  exactly  where  errors  occur. 

Working  loith  pictures.  LOGO  contains  an  excel- 
lent Turtle  Graphics  system  which  makes  it  easy  to 
create  pictures.  The  child  commands  a  "turtle" 
marker  to  move  and  draw  on  the  screen.  The 
commands  include  move  forward  or  backward  a 
niuTiber  of  steps,  turn  left  or  right  a  ninnbcr  of 
degrees,  select  a  pen  of  a  specified  color,  and  raise 
or  lower  the  pen  to  control  whether  the  Ciutle 
draws  as  it  moves.  Here  is  a  simple  program  to 
draw  a  .square: 

TO  SQUARE 

FORWARD  40 

RIGHT  90 

FORWARD  40 

RIGHT  90 

FORWARD  40 

RIGHT  90 

FORWARD  40 

RIGHT  90 
END 

This  program  can  be  condensed  to: 

TO  SQUARE 

REPEAT  4  [FORWARD  40  RIGHT  90] 
END 


July.  1'82.  Issue  26 


COMPUTEI 


89 


Turtle  graphics,  originally  developed  as  part 
of  LOGO,  has  since  been  incorporatecl  into  other 
languages,  including  Atari  PILOT  wiiich  I  will 
review  in  next  month's  column.  See  Dave 
Thornburg's  Friends  ol  the  Turtle  column  lor 
more  examples  of  turtle  graphics. 

BASIC  typically  uses  a  coordinate  graphic 
system  in  which  you  specify  the  horizontal  and 
vertical  locations  ol  things  to  appear  on  the  screen. 
Here  is  a  BASIC  program  to  draw  a  square: 

100   DRAW  0,0  TO  40,0 
110  DRAW  40,0  TO  40,40 
120  DRAW  40,40  TO  0,40 
130  DRAW  0,40  TO  0,0 

Each  DRAW  connnand  draws  a  line  between  the 
coordinates  specified. 

There  are  many  dialects  of  BASIC.  In  some 
the  graphic  commands  are  limited  to  plotting 
points  and  drawing  lines.  Others,  such  as  the  Radio 
Shack  Color  Computer  Extended  BASIC  and  the 
IBM  Personal  Computer  BASIC,  include  more 
powerful  graphic  commands  for  drawing  circles, 
arcs  and  boxes,  filling  areas  with  color,  and  moving 
pictures  on  the  .screen  to  create  animations.  The 
ease  of  creating  pictures  in  BASIC  depends  to  a 
large  extent  on  which  version  is  used. 

Working  witii  words.  In  BASIC,  .sels  of  letters 
are  grouped  together  to  form  strings.  Commands 
are  available  for  testing  whether  strings  match,  for 
combining  strings  and  for  selecting  parts  of 
strings. 

In  LOGO,  letters  combine  to  form  words, 
which  are  analogous  losliings  in  B.ASIC.  In  addi- 
tion, LOGO  has  lists.  A  list  consists  of  an  ordered 
set  of  words  or  simpler  lists.  That  is,  you  can  have  a 
list  of  lists,  or  a  list  of  lists  of  lists,  and  so  on.  This  is 
very  useful  for  working  with  language  —  a  list  of 
words  torms  a  sentence,  a  list  of  sentences  forms  a 
paragraph,  and  a  list  of  paragraphs  forms  a  dis- 
course. LOGO  contains  procedures  for  checking 
whether  a  list  contains  a  specified  word,  testing 
whether  two  lists  match,  combining  lists  and  se- 
lecting parts  of  lists.  The  commands  for  working 
with  language  in  LOGO  are  far  more  powerful 
than  those  in  BASIC. 

Learning  general  programming  concepts.  Wlien 
learning  either  BASIC  or  LOGO,  children  become 
familiar  with  many  concepts  important  in  all  pro- 
gramming. These  concepts  include  variables, 
branching,  iteration  (repetition  of  sets  of 
commands),  conditionals  (if/then  decisions),  and 
modules  (subroutines  or  procedures).  LOGO  adds 
the  concept  of  recursion  (procedures  that  call 
themselves). 

Learning  good  progi-amming  techniques.  Program- 
ming techniques  have  advanced  since  BASIC  was 


developed,  and  BASIC  is  often  faulted  for  not 
encouraging  good  programming  practices.  As 
computers  ha\  c  become  faster  and  memory  less 
expensive,  emphasis  has  shifted  from  writing  pro- 
grams which  execute  quickly  and  take  little  memory, 
to  programs  that  are  easy  to  write,  understand, 
test,  debug  and  modify. 

An  important  part  of  good  programming  is 
dividing  the  overall  goals  of  the  program  into 
simpler  subgoals,  each  of  which  can  be  handled  in 
its  own  ])art  of  the  program.  This  is  called  modular 
programming.  White  modular  programming  is 
possible  in  BASIC,  the  language  does  not  facilitate 
this  approach. 

LOGO  was  designed  for  modular  program- 
ming. You  define  procedures,  each  of  which  tells  the 
computer  how  to  do  something.  Once  a  procedure 
is  defined,  it  can  be  used  in  other  procedures  in 
exactly  the  same  way  as  any  of  the  "primitive" 
procedures  built  intt)  the  language.  Thai  is.  each 
l^rocedure  you  create  can  be  used  as  a  module  in  a 
larger  program.  For  example,  once  the  SQUARE 
procedure  given  above  is  created,  it  can  lie  used 
in  a  procedure  to  create  a  more  complex  picture 
such  as: 

REPEAT  8  [SQUARE  RIGHT  45] 


Since  a  created  procedure  can  be  used  just  like  a 
built-in  one,  LOGO  lets  you  design  your  own  lan- 
guage by  creating  a  set  of  procedures  to  suit  your 
purposes. 

Compatibility  with  children  s  ways  of  thinking. 
Children  are  best  able  to  understantl  things  in 
terms  of  concrete  images  and  their  own  actions, 
rather  than  in  terms  of  abstract  concepts.  Turtle 
graphics  therefore  provides  an  excellent  means  of 
introducing  programming  to  children.  Commands 
to  the  turtle  are  in  terms  of  processes  children  can 
act  out.  A  child  might  create  a  SQUARE  procedure 
by  first  drawing  a  square  with  a  pencil  and  paper 
(or  walking  the  shape  of  a  square)  and  observing 
his  own  movements.  The  child  can  then  tell  the 
turtle  how  to  follow  the  same  pattern  of  movement. 
In  contrast,  the  graphics  commands  typical  of 


90 


COMPUTII 


July,  1982.  issue  26 


BASIC  require  an  underslantlingof  the  coordinate 
system  and  do  not  reflect  the  processes  of"  drawing. 

While  tiic  tunic  graphics  component  of  LOGO 
suits  children  very  well,  I  am  less  certain  about  the 
rest  of  LOGO.  The  commands  for  working  \\  ith 
words  are  powerful  but  mav  not  be  simple  for 
children  to  use.  Most  teachers  using  LOGO  have  so 
far  focused  on  turtle  graphics.  I  am  waiting  for 
more  inlormaiioii  from  teachers  and  diildien  who 
are  exploring  the  non-graphics  aspects  of  LOGO. 

Ln  BASIC],  children  generallv  find  it  easy  to 
understand  the  individual  string  processing  com- 
mands and  to  write  small  programs  with  them. 
However,  the  difficulty  of  B.A.SIC  programming 
increases  rapidly  as  the  size  of  the  program 
increases. 

Developing  thinking  skills.  To  program  in  any 
language,  one  must  analyze  the  task  the  computer 
is  to  perform,  divide  it  into  sub-steps,  carefully 
communicate  the  sub-steps  to  the  computer,  and 
test  and  debug  the  program.  Manv  teacfiers  report 
that  when  children  learn  programming  they  also 
acquire  ways  of  approaching  many  types  of  prob- 
lems and  gain  an  appreciation  of  the  need  for 
careful  work.  This  leads  to  improvements  in  much 
of  their  school  work. 

I  lielieve  the  critical  factor  in  whether  learning 
to  program  facilitates  general  thinking  skills  is  not 
which  language  is  taught,  but  wliethcr  the  teaching 
encoinages  careful  task  analysis,  problem  solviiig, 
and  testing.  However,  LOGO  does  have  some 
advantages  over  BASIC.  Since  it  encourages  mod- 
ular programming,  it  also  encourages  careful 
analysis  of  problems  and  good  programming  prac- 
tices. LOGO  contains  features  well  adapted  to 
certain  problem  sohing  strategies  (such  as  progres- 
sively reducing  a  problem  to  similar  but  simpler 
problems).  And  working  with  turtle  graphics  can 
lead  children  to  an  intuitive  understanding  of 
concepts  of  geometry  and  symmetry. 

Which  Language  Should  Children  Be  Taught? 

More  people  know  BASIC  thaiT  any  other  computer 
language  and  there  are  a  greater  number  of  books 
anci  programs  available  to  help  teach  BASIC.  I 
know  many  children  and  adults  who  have  gotten  a 
great  deal  out  of  learning  BASIC  -  knowledge 
about  computers,  an  understanding  of  general 
concepts  of  programming,  appreciation  of  the 
need  for  careful  thinking  and  attention  to  details, 
and  joy  and  pride  in  being  able  to  control  the  com- 
puter with  their  own  programs. 

LOGO  has  been  used  in  a  number  of  test 
projects  and  is  beginning  to  be  tried  in  many  class- 
rooms. As  I've  discussed,  it  has  several  excellent 
features  for  teaching  children,  particularly  in  the 
turde  graphics  component.  I  expect  materials  to 


help  learn  and  teach  LOGO  will  become  available 
rapidh'. 

Children  enjoy  and  benefit  from  learning 
either  BASIC  or  LOGO.  Why  shouldn't  they  karn 
both? 

Versions  Of  LOGO  For  Apple  II  Computers 

Two  versions  of  LOGO  are  now  available  ibr  Apple 
compiuers,  one  developed  at  MIT  and  the  other 
developed  by  Logo  Compiner  Systems,  Inc.  (LC^SI). 
LCSI  LOGO  is  marketeci  by  Apple  through  its 
dealers.  Two  companies  market  the  MIT  version: 
Terrapin  Inc.  (678  Massachusetts  Ave.  #'205, 
Cambridge  MA  02139).  and  Krell  Software  (21 
Millbrook  Drive,  Stony  Brook,  NY  I  1790).  Both 
versions  require  a  48K  Apple  II  with  a  K^K  RAM 
card  (or  language  card)  and  one  disk  drive.  The 
two  versions  have  far  more  similarities  than  differ- 
ences, but  each  has  several  features  not  foinid  in 
the  other. 

The  MIT  version  has  three  features  which  are 
particularly  useful  with  children:  (1)  The  abihty  to 
change  the  shape  of  the  turtle.  This  is  u.sefiil  for 
animations  —  you  can  create  your  own  shape  and 
move  it  on  the  screen  with  turtle  commands.  (2)  A 
trace  f imclion  \vhich  lets  \-ou  run  a  program  step-b\- 
step.  This  is  useful  for  carefully  analyzing  programs 
and  for  finding  bugs,  (3)  The  ability  to  save  pictures 
lo  disk  and  retrie\e  them  from  a  program.  SlIT 
LO(;()  also  has  a  feature  for  machine  language 
programmers:  it  lets  you  add  your  own  machine 
language  routines. 

LSCI  LOGO,  while  not  having  the  features 
mentioned  above,  has  several  leatuies  not  found  in 
the  MIT  version.  The.se  include  more  advanced  list 
processing  capabilities,  convenient  ways  of  working 
with  sets  of  procedures,  the  ability  to  re-define 
primitive  commands,  and  good  error  trajjping 
capability.  I'liese  features  are  particularly  useful 
for  advanced  programmers. 

An  important  part  of  a  LOGO  package  is  ihe 
documentation.  LCSI  LOGO  comes  with  two  man- 
uals, an  excellent  turtle  graphics  tutorial  and  a 
good  leference  manual.  Terrapin  has  its  own 
tutorial,  which  covers  both  turtle  graphics  and 
language  processing.  I  only  have  a  draft  available 
for  review,  but  it  looks  like  a  very  useable  manual. 
Krell  provides  a  minimal' amount  of  written 
documentation  and  a  tutorial  on  disk.  The  Krell 
tutorial  is  severely  lacking -it  demonstrates  many 
of  the  capabilides  of  LOGO  but  does  not  teach 
anyone  how  to  use  them. 

The  prices  of  the  three  LOGO  packages,  with 
documentation  and  back-up  copy,  are:  LCSI  - 
$175;  Terrapin- $165  ($150  +  $15  for  back-up 
disk);  Krell -$179.  I  recommend  either  LCSI  or 
Terrapin.  Krell  cannot  be  recommended  due  to 


July,  1982,  Issue  26 


COMPUTEI 


91 


the  lack  oi  adequate  documentation. 

LOGO  Books 

Four  books  iliai  lell  you  more  about  LOGO  are 
available: 

Logo  by  Hai-old  AbeLson  (Bvte/McGraw  Hill 
Publishers,  1982).  A  guide  to  using  LOGO 
which  is  a  good  addition  to  the  LCSI  and 
Terrapin  manuals. 

Spccidl  Tt'chnology  for  Special  Childri'ti  by  Paul 
Goldenberg  (Uni\'crsity  Park  Press,  1979). 
Discusses  uses  of  LOGO  with  severely  handi- 
capped children. 

MitidstornLs:  ComlJiilcys,  (Children  iiiid  l^iwcrful 
Ideas  by  Seymour  Papert  (Basic  Books.  1980). 
The  case  for  LOGO,  strongly  stated. 

Titrllr  Gcomch-s  by  Harold  Abelson  and  Andrea 
diSessa  (MITPress.  1980).  A  technical  Ijook 
on  using  turtle  grajiliics  to  teach  concepts  of 
plane  geometry,  vectors  and  topology  and 
other  areas. 

An  Inexpensive  Turtle  Graphics  Program 

Many  people  want  to  try  turtle  graphics  wiihout 
investing  in  the  full  package  and  the  necessary 
memory  expansion.  An  excellent  program  which 
lets  you  do  so  was  pLil)lislied  in  Nibble  magazine 


(Vol.  3,  No.  L  1982).  This  program,  written  in 
Applesoft  by  David  Krathwohl.  provides  the  main 
turtle  graphics  commands,  ihe  ability  to  write 
procedures  and  call  them  from  other  procediues, 
iteration,  some  minimal  use  of  variables,  and  saving 
programs  to  disk.  You  can  find  a  copy  of  the 
magazine  and  type  the  program  into  yoiu"  Apple 
or  order  a  disk  (with  documentation  and  two  other 
programs)  for  $29.9.5  ]j1us  $I..">0  postage  fiom 
Nibble:  Box  325,  Lincoln  MA  01 773.    '  © 


nil 


THE  WORD  PROCESSOn  FOR 

fiTfiRX  400/600 

WITH  CASSETTE  DRIVE 

ACCU-WRITE]S  FOR  USE  WITH  THE  ATARI  400  800 
COMPUTER  AND  THE  EPSOM  MX-80  PRINTER  FULL 
DOCUMENTATION  ALLOWS  USER  MODIFICATIONS 
TO  SUPPORT  OTHER  PRINTERS  AND  COMPUTERS 
THE  SUGGESTED  RAM  IS  32K. 

ACCU-WRITE     FEATURES  INCLUDE: 

ON  SCREEN  CORRECTIONS  AUTO-CENTER  TITLES 

INSERT  DELETE  LINES  LINE  COUNTER 

OUTLINE  FORMAT,  PARAGRAPH.  SUBPARAGRAPH 

FULL  DOCUMENTATION  &  CASSETTE  -  -  S49.95 

VISA  AND  MASTER  CHARGE  ACCEPTED 

CALL  (501)  361-8594 

DREAM  PRINT  HOMES  INC.  SUITE  705 

1700STUMPFBLVD   GRETNA.  LA.  70053 


ORIGINAL  SOFTWARE  FOR  THE  ATARI  400/800  AND  THE  APPLE  11/11+  FROM  DONT  ASK 


iThInk  your  computer's  an  obedient  wimp? 
ICuess  again! 


The  insult  program. 

•  Funny  •  Unpredictable  •  Interactive 

•  Guaranteed  to  call  you  something 
you've  never  been  called  before! 

$19.95 

ATARI:  40K  -  disk  -  BASIC 
APPLE;  -IBK  -  d<sk  -  APPLESOFT 


^pj; 


The  high-speed  dictionary  game 

At  last,  an  t'dutatlonal  gamo  that's  really  fun  to  play!  You 
start  caih  turn  with  a  word,  h  definitions,  and  a  (ountcr 
set  to  (>()()  points.  As  time  passes  the  points  tic  k.iway.  The 
sooner  you  pick  the  correct  definition,  the  mori'  point!, 
you  get,  but  the  sooneryou  guesswrong,  the  more  points 
you  lose. 

3  levels  of  play  on  one  disk: 
•  Beginner  (ages  9-1  4)  •  Regular  •  Challenge 
2000  words  and  definitions 

$24.95      ACI'tl  version  speaks! 
ATARI:  iik        ihsk        BASIC 
APPLE:  48k  -  disk  -  APPLESOn 


Also  available: 

The  next  disk  in  the  WORDRACE  System.  Use  it 

along  with  your  WORDRACE  disk  to  play: 

•  CLAIM  TO  FAME  idtio  i.imou^  pi'oplc  m  hisioryl 

•  SPORTS  DERBY  (600  [lieii".  ot  -pons  tnvidl 

•  Plus  more  vocabulary  words 

$19.95 
Koquircs  WORDRACE  di^k 


Dealer  inquiries  welcome 


Availiibk'  M  youi  lompulcr  store  or  direit  from  DONT  ASK 
liKludf  52  00  -hiijpinBfar  cath  pmnrjm  tCalil   fcsidimli  jciii  (.",.  Ijvl 
AT.a,RI  ii  ,,  lr.idfmjrk  of  ATARI  INC 
APPLE  jnri  API'LISOrr  ,iri'  iMdcTTi.irkx  ot  AF'PLE  CO.MPUTER  INC 


DON'T  ASK 
Computer  Software 
2265  Westwood  Blvd.  8-150 
Los  Angeles,  CA  90064 
(213)  397-8811 


92 


COMPUTEi 


JuV.  1982.  Issue  26 


Apple  Game 
Paddles 


Figure  1.  Push  Button 


John  K.  Elberfeld 
Rochester,  NY 


Understanding  the  linictions  of  the  Apple  game 
paddles  was  my  first  step  toward  inierfacing  the 
Apple  with  ilie  "real  world."  The  simplicity  of  the 
paddles  is  a  result  of  the  amazing  \'ei"satililv  of  the 
game  In/Oiit  connectcjr  (where  the  game  paddles 
are  plugged  in)  on  ihc  computer  mother  hoard. 
The  Apple  Reference  Manual,  pages  Td,  24,  100, 
and  I  14,  provides  the  basic  facts  about  the  paddles 
and  the  connector.  This  article  will  attempt  to 
unily  these  tacts  into  an  understandable  explana- 
tion of  the  Integrated  Circuit  electronics  used 
every  titne  Little  Brick  Out  is  RUN. 

The  push  button  control  on  the  paddles  is  a 
normally  open  momentary  switch.  No  electricity 
may  llow  through  this  switch  luitil  it  is  pushed 
down.  As  soon  as  it  is  released,  the  flow  of  electricity 
slops.  The  source  of  voltage  is  pin  I  on  the  game 
I/O  connector,  which  supplies  +3  volts  through 
the  connecting  wires  to  one  side  of  the  switch. 
When  the  button  is  pressed  and  the  switch  is  closed, 
this  +5  volts  passes  throtigh  the  switch  and  back 
through  the  wires  to  pin  2  on  the  I/O  connector. 
Fin  2  is  connected  to  a  standard  Transistor- 
Transistor  Logic  (TTL)  Integrated  Carcuit  (IC)  on 
the  Apple  mother  board.  When  -1-5  \olts  is  applied 
to  pin  2,  this  IC  causes  the  memory  location  of 
(-16287)  or  (SCOGl)  to  be  greater  than  128.  The 
actual  circuitry  allows  three  push  buttons  to  be  used, 
but  this  article  will  supply  details  for  button  0  only. 

When  pin  2  is  grounded,  the  value  of  (-16287} 
will  fall  below  128.  However,  no!  applying  +5  volts 
lo  pin  2  is  iiol  the  same  as  groiniding  the  pin.  To 
make  the  pin  grotinded  when  no  voltage  is  applied, 
a  360  ohm  resistor  is  permanently  connected  be- 
tween pin  2  and  ground.  Any  electricity  which 
might  deceive  pin  2  into  thinking  that  5  volts  was 
being  connected  to  it  disappears  through  the  resi.s- 
lof  and  into  the  groimd.  'This  resistor  is  located  in 
the  16-pin  DIP  Header  -  the  black  box  at  the  end 
of  the  paddle  wires.  This  resistor  is  small  enough 
to  effectively  ground  pin  2  when  no  voltage  is 
applied,  but  large  enough  so  the  current  through  it 
is  very  small  when  +  3  volts  is  applied. 

Figure  I  shows  this  information. 

The  game  controller  analog  inputs  (knobs 
which  turn)  are  physically  very  simple.  The  fol- 


Pinl 


Pin  2 


+  5V 


I  Push  Button 


7-1LS251 

> 


560  H. 


Pin  8  -= 


lowing  details  apply  lo  PADDLE  0.  btil  the  coiuepi 
is  ihe  same  for  all  [)a(ldles.  Just  the  pin  nimibers 
are  different. 

Pin  1  agaiti  supplies  -f-5  volts  through  the 
coimecting  wires  to  one  end  of  a  150. 000  ohm 
\ariable  resfstor.  fhe  other  end  of  the  resistor  is 
connected  through  the  wires  to  |:)in  (i.   furning  ihe 
game  control  \ai  ies  the  resistance  between  the  3 
\()lt  supply  \t)ltage  and  pirt  6  on  the  game  I/O 
connector.  When  the  resistor  is  ttirnetl  so  the  resis- 
tance in  the  circuit  is  large,  \ eiy  little  ctu'rent  can 
flow  back  to  ]>in  6.  A  low  resistance  setting  of  the 
game  control  allows  a  large  ctnreni  to  llow  back  to 
pin  (i. 

Pin  6  is  a  direct  connection  to  a  cajjacitor  on 
the  mother  board.  A  capacitor  is  designed  to  store 
electric  charge,  but  this  capacitor  starts  out  with  no 
charge.  Electi'ic  cin-renl  which  flows  through  pin  6 
to  the  capacitor  will  build  up  the  charge  on  the 
capacitor  until  it  reaches  a  predetermined  level. 
When  the  Apple  is  instructed  to  read  the  value  of 
the  game  control  ihrough  the  BA.SIC  commaufl 
PDL(O),  it  uses  a  machine  language  monitor  routine. 
This  command  starts  a  counting  rouUne,  consisting 
of  a  loop  and  a  cotmter.  to  time  how  long  it  takes 
the  electric  current  through  the  game  controller 
lesisior  to  charge  the  capacitoi-  back  up  from  its 
zero  starting  charge.  The  number  of  times  that  the 
computer  executes  this  timmg  loop  is  the  value 
reported  when  PRINT  PDL(O)  is  RUN. 

To  limit  the  electric  current  flow  into  the 
capacitor  when  the  game  control  is  applying  zero 
resistance,  a  small  100  ohm  resistor  is  connected  in 
series  between  the  capacitor  and  the  game  control- 
ler.  If  too  much  current  flowed  into  liic  capacitor 
in  a  very  short  time,  the  power  suj^ply  or  other 
circuits  could  be  damaged. 

How  can  the  computer  tell  when  a  capacitor  is 
charged?  The  Apple  uses  a  558  quad  timer  Inte- 
grated Circuit  wiiich  is  designed  specifically  to 


July.  19S2,  Issue  26 


COMPUTEI 


93 


acxomplish  this.  This  circuil  is  similar  to  four  555 
timers  on  one  chip  and  allows  up  to  foiu"  game 
paddles  to  be  used  at  one  time.  The  .^jSH  IC  is  care- 
fully designed  lo  have  a  high  output  when  the 
capacitor  is  cliargcd  to  hss  than  2f'^  of  the  supply 
voltage,  and  a  low  output  alter  it  readies  2/3  of  the 
supply  voltage. 

The  timing  cvcle  is  stalled  when  the  558  is 
triggered  -accomplished  i)y  PKKKing  at  location 
49264  (-16272  or$C070).  After  the  B-fSH  is  triggered, 
the  output  goes  high,  and  t!ie  capacitor  is  allowed 
lo  charge  up  from  the  cmrent  through  the  game 
controller.  When  the  capacitcn-  reaches  2/3  of  the 
sujjpiv  voltage,  (he  oiUiJUt  goes  low  and  remains 
low  until  triggered  again.  The  358  then  automati- 
cally discharges  the  capacitor  and  waits  for  another 
trigger.  Memorv  location  SC064  is  high  (greater 
than  128)  while  the  output  of  the  558  timer  is  high, 
and  low  (less  than  128)  when  the  output  of  the 
timer  is  low.  How  a  high  output  (rom  the  558 
affects  the  value  in  a  memorv  location  is  a  "ood 
topic  for  some  other  author. 

Figure  2  shows  the  circuit  used  lor  Paddle  0 
on  the  .\pple.  The  other  game  controllers  have 
similar  circtiils  but  different  memory  locations. 


Figure  2.  Game  Control  Paddle 


Pin  i 


+  5V 


000.0- 


Pin6 


100- 


Pin  2 


1         .022;jLf 


558 
Timer 


Pin  3      Trigger 


Pin  1      Output 


The  .^pple  Relerence  .Manual,  I'age  144,  lists 
the  following  monitor  routine  for  reading  the 
value  of  the  game  coniroller.  These  directions  are 
permanently  stored  in  the  Read  Onlv  Memory 
(ROM)  of  die  Apple  and  are  u.sed  during  the  execu- 
tion of  B.A.SIC  commands  in  regular  programs. 
The  following  explanation  assumes  some  knowl- 
edge of  machine  language  programming. 

PREAD  LDA  PTRIG 

LST  ON 

LDY   #$00 

NOP 

NOP 
PREAD   LDA   PADDLO.X 

BPL  RTS2D 

INY 

BNE   PREAD2 

DEY 
RTS2D    RTS 


PTRIG  is  location  $C070.  LDA  to  this  locadon 

triggers  all  4  timers  on  the  558  chi|3  on  the  mother 
board.  Ihis  forces  all  the  oiuputs  of  the  558  chip 
to  go  high  and  remain  high  until  the  capacitors  are 
charged.  This  trigger  also  allows  the  capacitor  to 
start  charging. 

LST  ON  is  not  a  machine  language  ct^nmiand, 
but  is  probably  a  note  to  indicate  that  ifie  timer  has 
been  triggered. 

LDY  #$00  loads  the  Y  register  with  a  value  of 
zero  to  initialize  it  fbi"  the  timing  loop. 

NOP  means  no  operation.  The.se  are  dummy 
commands  used  to  take  up  some  time  befoie  the 
liming  loop  is  entered. 

LDA  PADDLO.X  stores  in  the  accumuiaU)r  (A) 
the  value  ol  the  memory  location  iuclicaicd  bv 
P.\DDLO,  with  the  location  address  increa.sed  by 
the  \alue  stored  in  the  X  register.  This  allows  a 
single  routine  to  lime  all  lour  allowable  game  con- 
trollers. The  luunlxr  of  the  controller  (0  through 
4)  must  be  loaded  in  the  X  register  belore  the 
routine  is  entered.  P.\DDL()  is  the  memory  location 
SC()64,  the  memory  local  ion  which  is  high  when 
the  current  through  paddle  zero  has  not  charged 
the  capacitor.  When  register  X  has  0  stored  in  it, 
this  location  is  read.  When  register  X  has  the  value 
"1"  stoied  in  it,  the  \alue  in  memorv  location  $C()64 
+  1  =SC0(i5  is  loaded  in  tlic  accunuilaior.  $C065  is 
die  memory  location  ^vhicll  is  high  when  paddle  I 
is  in  the  process  of  charging  its  capacitor. 

BPL  RTS2D  commands  the  computer  to 
branch  to  location  RTS2D  if  the  value  loaded  into 
.\  is  positive.  RrS2I)  contains  the  command  R  IS 
wiiich  sto]js  die  timing  loop  and  relurns  control  to 
the  BASIC  connnands  whic:h  first  called  in  the 
routine.  A  byte  is  considerctl  negative  when  bit  7, 
the  eighth  bit  from  the  right,  is  "I ,"  and  positive 
when  this  hit  is  "0."  This  seventli  hit  is  also  used  as 
the  flag  lo  indicate  that  the  oiilpiU  of  the  timer  is 
still  high.  While  the  capacitor  is  in  the  process  of 
being  charged  by  the  current  through  the  game 
controller,  this  seventh  bit  in  location  $C064  is  set 
to  "l,"  the  computer  considers  the  value  of  the 
entire  byte  negative,  and  no  branching  occurs.  The 
computer  contiinies  down  the  list  of  instructions. 
When  the  seventh  bit  is  "0,"  it  means  the  capacitor 
is  charged  enough,  the  timing  stops  with  the  value 
in  Y  indicating  the  tnimber  of  limes  the  program 
executed  the  loop,  and  the  program  branches  to 
RTS2D  which  returns  control  back  to  the  B.-\SIC 
program.  This  is  the  normal  LNI^  for  this  monitor 
subroutine. 

INY  commands  the  computer  to  increase  the 
value  ol  the  Y  register  by  I .  The  Y  register  is  now  a 
counter  which  indicates  how  many  times  the  com- 
puter passes  this  point  in  the  loop.  It  is  this  value 
stored  in  Y  which  is  the  "value"  of  the  game  con- 


94 


COMPUTEI 


July.  1982,  issue  26 


troller  setting. 

BNE  PREAD2  coniniancls  the  computer  to 
branch  back  in  the  loop  to  the  location  of'PREAD2 
(the  LDA  PADDLO.X  command)  if  the  value  of  the 
Y  register  is  not  equal  to  zero.  If  the  resLslauce  i.s 
verv  high  in  game  controller,  the  Y  register  may 
have  counted  up  to  2.55,  the  largest  nimiber  it  can 
store.  (All  8  bit.s  are  set  to  I).  Adding  1  more  to  255 
doe.s  not  result  in  25(i,  but  changes  all  the  I's  to  O's 
(255+  1  =0).  At  tliis  point  the  computer  realizes  it 
has  gone  too  far,  and  it  does  not  branch  back  to 
continue  the  loop. 

DEY  decrea.ses  the  value  of  Y  by  one.  Since  Y 
UTUSt  be  zero  to  reach  this  point  in  the  program,  Y 
changes  from  0  back  to  255  because  000  -  I  =255. 
This  is  the  largest  lunnber  that  may  be  a  paddle 
reading.  At  this  point  the  timing  loop  is  halted. 

RTS  then  retvu-ns  control  to  the  BASIC  pro- 
gram which  called  the  subroutine.  The  value  in  Y 
is  the  value  of  the  paddle  reading. 

The  loop  of: 

READ2  LDA  PADDLO,X      (5  CYCLES) 

BPL  RTS2D  (2  CYCLES- NO  BRANCH) 

INY  (2  CYCLES) 

BNE  PREAD2         (3  CYCLES-SUCCESSFUL 
BRANCH} 
is  repeated  until  the  capacitor  is  charged  or  until  Y 
reaches  a  reading  of  25(i  (000).  The  loop  uses  12 
clock  cycles  or  about  12  microseconds.  The 
maximum  amoinit  of  lime  this  program  can  meas- 
ure is  255  loops  or  3060  microseconds.  The  time 
needed  to  charge  sufficiently  the  .022  mfd  capacitor 
on  the  mother  board  through  150,000  ohm  game 
controller  is  1.1  *  150,000  *  .022  E-06  =  .0036 
seconds  =3600  microseconds.  This  extra  time 
guarantees  that  the  maximum  value  can  be  reached 
when  the  game  controller  is  set  for  maximum 
resistance. 

Where  can  this  information  lead?  It  is  possible 
to  substitute  a  thermistor  in  place  of  the  game 
controller  so  the  reading  of  a  paddle  will  indicate 
the  temperature.  A  game  controller  with  a  resis- 
tance differing  from  the  150,000  ohm  Apple  Con- 
troller can  be  adapted  to  this  circuit.  A  till  sensitive 
switch  could  replace  the  pushbutton  to  indicate 
changes  in  position.  The  possibilities  are  endless 
and  challenging.  For  more  information  on  these 
circuits,  see: 

Minis,  Forrest  M. 
Engineer's  Notebook 

Radio  Shack,  1979 

Lancaster,  Don 
TTL  Cookbook 

Howard  W.  Sams,  1974 

Semiconductor  Reference  Guide 

Radio  Shack,  1981  © 


In  this  interesting  article,  the  author,  a  quadriplegic, 
describes  techniques  he  has  learned  to  effectively  work 
with  his  contpuler.  His  suggestions  may  he  of  interest  to 
other  handicapped  progrannners  and.  at  the  end,  lie  has  a 
progrdm-typing  hint  for  evo-yone. 

Computing 
Techniques 
For  The 
Handicapped 

George  Leotti 
Glenolden,  PA 


Being  a  physically  disabled  individual  I  faced  some 
unique  problems  in  making  my  computer,  and 
peripherals,  usable.  First,  I'd  like  to  briefly  describe 
my  disability  and  then  pass  along  some  hints  that 
may  help  other  people,  disabled  and  able  alike. 

I'm  a  (15-(>(>  quadriplegic.  What  liiat  basically 
means  is  that  my  legs  are  totally  paralyzed.  My 
arms  are  partially  paralyzed.  1  can't  move  my  fingers 
or  thumbs  at  all,  but  I  can  flex  my  wrists.  Now,  on 
to  the  hints. 

There  are  many  devices  available  to  hold 
pencils,  pens,  and  paintbruslies  that  will  hold  a 
stick  which  may  be  used  to  press  keys  on  your 
keyboard.  1  use  a  imiversal  holder  with  an  L  bar 
that  holds  a  pencil,  eraser-side  down.  Use  whatever 
is  comfoitable  for  you. 

To  protect  the  faces  on  my  small  keyboard 
PET,  I  have  someone  cut  out  the  fingers  of  a  surgi- 
cal glove,  ptu  them  over  the  eraser,  and  tape  it 
securely  to  the  pencil.  This  way  the  eraser  will  not 
fragment  and  get  stuck  between  the  keys.  Plus, 
wear  and  tear  on  the  keys  is  reduced. 

A  New  On-Off  Switch 

The  first  problem  I  encountered  when  I  bought 
my  PET  was  bow  to  turn  it  on  and  off  by  myself. 
As  you  know,  the  PET  and  Commodore  peripherals 
have  their  power  switches  located  on  the  back 
panels.  Why?  I  don't  know.  But  I  do  know  it  is 
impossible  for  me  to  reach  them. 

The  solution  was  simple.  1  had  another  switch 
mounted  on  the  front  panel,  above  the  keyboard. 
The  new  switch  "jumpers"  the  power  switch  in  the 
rear.  The  Commodore  switch  now  stays  in  the  on 
position.  The  new  switch  turns  power  on  and  off. 


July,  W82,  Issue  26 


COMPUTE! 


95 


Its  switch  is  a  toggle  switch  which  can  be  purchased 
at  any  Radio  Shack,  part  number  275-651. 

I  had  the  same  done  on  my  202ji  printer.  The 
switch  is  mounted  an  inch  to  the  right  of  the  paper 
advance  button. 

Who  will  install  switches  For  you?  My  brother, 
an  electronics  engineer,  installed  them  for  me.  If 
you  have  no  one  able  to  perform  this  operation  for 
yon  I  suggest  you:  contact  a  local  electronics/ 
computer  store,  appliance  repair  shop,  or  television 
repair  shop.  If  you  go  this  rf)ute  be  sure  the  person 
is  insured  and  knows  exactly  what  you  need.  If 
your  machine  is  slill  luider  warranty,  contact  the 
manufacturer  first.  They  (or  the  store  where  you 
bought  it)  may  install  a  switch  for  you. 

Another  solution  to  the  problem  would  be  to 
have  a  switcliing  center  installed  by  a  competent 
electrician.  In  this  way  you  would  not  deface  your 
machine  and  you  could  have  all  the  power  .switches 
in  one  convenient  location. 

Operating  Tape  And  Disk  Drives 

The  next  jjroblem  was  how^  to  push  the  PLAY  and 
RECORD  keys  a(  the  same  lime.  I  found  that  if 
you  put  .something  in  the  jaws  of  a  luitcracker  to 
space  the  ends  the  ]jroper  width,  and  then  tape  the 
ends  to  hold  the  spacer,  you  have  a  tool  that  works 
Oil  the  tape  drive.  I1iis,  when  held  in  the  inotuh, 
makes  pushing  tho.se  buttons  easy.  Since  most 
nutcrackers  are  made  of  meial,  however,  it  would 
be  easier  on  your  teeth  to  contact  yoiu'  friendly 
occupational  therapist  for  something  made  of 
plastic  oi"  wood. 

Just  reccmly,  I  purcha.sed  a  2031  single  disk 
drive  becau.se  of  an  overflow  of  cassettes.  It  is  a 
remarkable,  machine,  ofcour.se,  very  fast  and 
efficient,  but  when  I  tried  to  change  its  diet  (remove 
one  diskette  and  put  in  another)  I  found  I  could 
not  pull  out  the  diskette. 

Some  tape  and  toothpicks  solved  this  one.  On 
the  left  side  (front)  ol  my  diskettes  I  liave  between 
five  and  six  inches  of  tape  folded  in  half  and  fixed 
to  the  top  and  bottom  of  each  diskette  with  a  tooth- 
pick at  the  fold  in  the  tape.  Now  I  can  pull  out  a 
diskette  with  one  finger. 

I  used  strapping  tape  (tajse  with  fibers)  and 
round  toothpicks.  Instead  of  toothpicks  you  could 
use  small  plastic  rings  that  you  can  put  a  finger,  or 
your  pushstick,  through.  Be  sure  not  to  cover  the 
write-protect  notch  on  the  disk. 

Shopping  For  Machines 

If  you  are  disabled  and  deciding  which  computer 
to  buy,  go  to  a  computer  store.  Try  each  model  or 
brand  you  are  interested  in.  Look  for  accessibility. 
I  have  found  that  the  PET  has  very  accessible 
keyboards.  For  me,  the  separate  numeric  keypad 
reduces  arm  fatigue  when  entering  programs  man- 


ually. 

Also,  anyone  who  has  a  disability  that  affects 
the  hands  should  consider  the  tractor  feed  type 
printer.  I  have  the  problem  of  my  paper  coming 
out  oi  alignment  almost  e\ery  time  I  tear  a  sheet 
out  of  the  printer.  1  have  to  use  my  mouth  to  grip 
the  paper  and  pull  it.  So  far,  I've  come  up  with  no 
practical  solution  to  this  problem... 

Something  For  Everyone 

Here's  a  hint  which  might  solve  a  general  problem. 
When  entering  a  program  from  COIVIPUTE!,  do 
your  eyes  sometimes  wander  the  page  looking  for 
your  place?  In  the  back  of  COMPUTE!  you  will  find 
a  card  tliat  is  used  for  foreign  subscriptions.  If  you 
live  in  the  US,  or  subscribe,  tear  this  card  out. 

Use  a  sharp  hobby  knife  to  cut  out  a  "window" 
in  the  card.  Cut  out,  on  the  address  side,  the  words 
(sorry  about  this)  COMPUTE!  Magazine.  You  may 
need  to  widen  it  to  equal  a  whole  line  of  a  program. 
Place  the  card  on  the  page  that  has  the  program, 
leaving  the  lines  vou  want,  showing  through  the 
window.  .\s  you  enter  the  program,  just  move  the 
card  down  the  page. 

lliese  ideas  are  offered  as  suggestions.  Neither 
COMPUTE!  nor  Mr.  Leolti  can  be  held  responsible 
for  any  damages  resulting  from  their  use.  © 


SWEET-TALKER, 

IT  GIVES  YOUR  COMPUTER  AN 

l^UMITED  VOCABULARY. 


Parallel  Version 

Apple  It  Version 
As  Featured  in  Ciarcia's  Circuil  CeUar, 
Byte  Magazine.  Seplsniber  ^981 

The  Sweel-Talker  voice  synthesizer  allows  you  to  add  speeds  ol 
un  I  im  Ilea  vocabulary  to  your  computer,  Lililizing  itieVoiraxSC-OiAcriip, 
you  can  output  any  message  by  programming  individual  ptionemes. 
Comes  in  two  versions;  one  plugs  directly  into  your  Apple  II.  trie  otr^er 
connects  to  any  computer  witri  an  8-bit  parallel  printer  port.  *  12  votts 
and  +  5  volts  required  tor  parallel  board, 
•Coniains  6^  difle^em  phonemes  STOI 
accessed  by  a  &-bJ1  code 

STOZ 


ST06 


•  Automatic  and  manual  mtlec- 
tion  modes 

•  Parallel  port  driven  or  plggin 
compatible  with  Apple  II. 

•Super  text-Io-speecti  algorithm 

on  disk  lor  Apple  II,  Makes 

Sweel  -Talker  equivalent  to 

units  3  times  the  cost 
•On  ooaid  audio  amplifier 
•Sample  program  on  cassette 

witti  Apple  II  board, 
•Optional  power  supply  for 

parallel  board 

To  Order:     Call  Toll  Free  1  -800-645-3479 
(In  NY   Slate  Call.  1-516-374-67931 
For  Inlormalion  Call:  1-516-374-6793 


MICROMIIMTINC. 
917  Midway 
WoodmereN.Y.  11598 


Sweet  Ttlkar  Parallel 

Pott  Bomd  AIT $139.00 

Sweat  Talker  Apple  II 

plug  in  board 149.00 

Teit'lo-Spaech 

algorithm  on  disk 

for  Apple  II 35.00 

SC01A    Votran  Speecti 

Synlliaslier  ctilp 70.00 

5  or  mora 55.00  aacfi 

LIPS01    UnWarsal  Power  Supply- 

A4T 35.00 

Add  $2.00  lor  shipping  i  handling 


^ 


96 


COMPUTEI 


July,  1982.  Issue  26 


For  Commodore  coinpulers,  this  progi-ayn  allows  you  to 
add  very  large  numbers  together. 

Multidigit 
Addition 

Zoltan  Szepesi 
Pittsburgh 

A  iiiicrocompuier  generally  cannot  handle 
more  ihaii  8  to  12  clijrjts  ofiDiecisioii.  However, 
special  programs  can  be  written  in  HASIClor 
machine  language  to  increase  the  precision  of  the 
calculations. 

in  lliis  program,  Multackl,  tlie  addition  is 
made  in  eighi-digii  groups.  The  two  numbers  to  be 
added  togethei-  (the  (uldtnida)  are  entered  as  two 
strings  between  lines  70  to  120,  using  a  modified 
version  of  Gary  Green  berg's  simulated  injjul 
routine  (COMPUTE!.  Mav/jime,  H)SO.  #-1).  I'iiis 
way,  up  to  2')  1  digits  can  l)e  etiteted  for  each 
number.  The  two  addenda  can  have  differeni 
numbers  of  digits.  Lines  1-10  rt)  160  make  diem 
equal  in  lenglh  h\  plaiing  zeros  in  front  o(  (he 
shorter  number. 

I  Jnes  1  70  to  2,')()  divide  the  siriiigs  into  eighi- 
digii  groups  and  transform  these  substrings  into 
numeric  values.  Then  lines  260  to  'U)0  do  the  addi- 
tion, and  310  to  380  reconvert  the  groups  to  eight- 
digit  strings,  taking  care  to  1111  up  the  enipiv  places 
with  zeros,  and  eliminating  the  spacing  between 
(he  groups.  Tlie  result  is  ])rinted  oui  as  aconiiiuious 
siring. 

10  PRINT" {CLEAR}  MULTIDIGIT  ADDITI 

ON" 
40  PRINT" {DOWN}THE  NUMBERS  TO  BE  ADDED  CAN 

HAVE  MAX." 
50  PRINT"254  DIGITS, TYPE  THE  DIGITS  CQNTIN 

UALLY,  THEN  PRESS  'RETURN'." 
60  PRINT"CORRECT  WRONG  NUMBER  WITH  'DEL'." 


70  PRINT"! 

INT" {R 
80  GOSUB  5 
90  A5="0"+ 
100  PRINT: 

RINT" { 
110  GOSUB 
120  B$="0" 
130  T1=TI: 

n 

140  LA=LEN 
15f)  IF  LB< 

=D$+"0 
160  IF  LA< 

=  DS-i-"0 
170  M=INT( 
1B0  DIM  A( 


DOWN] 

IGHT] "; 

00 

ZIS 

PRINT" 

RIGHT} "; 

500 

+  Z1$ 

PRINT:PRINT" 


FIRST  ADDENDUM :A=": PR 


SECOND  ADDENDUM: B= 


{REV}WORKING 


(AS) :LB=LEN(BS) :DS="" 

LA  THEN  TD=LA-LB:FOR  1=1  TO  LD:D5 

":NEXTI :BS=DS+B$ 

LB  THEN  LD=LB-LA:FOR  1=1  TO  LD:D$ 

" : NEXTI : A$  =  D$+AS : LA=  LEN ( A? ) 

LA/8) :Q=LA-8*M:IF  Q>0  THEN  M=M+ 1 

M) ,B(M) ,C{M) ,D(M) ,R(M) ,RS (M) ,F${M 


190 

200 

210 

220 

230 
240 

250 

260 
270 
280 
290 
300 
310 


FOR  I=( 

1 

IF  M=l 

OTO260 

IF  Q>0 


TO  M:D(I) =0:C(I)=0:R(I) =0:NEXT  ' 
B(l) =VAL(BS) :G 
B(l)  = 


THEN  A(1)=VAL(AS) 


THEN  A(l): 


VAL(LEFT5 {AS,Q) ) 
VAL(LEFTS(BS,Q) ) :X=1:GOTO  230 
A(1)=VAL(LEFT$(A$,8) ) : B ( 1 ) =VAL { LEFTS (BS 
,8)) :X=0 
FOR  1=2  TO  M 

A(I)=VAL(MIDS(A$, (I-l-X)*8+l+Q,8) ) :B(I) 
=  VAL(MID$(B$,  (I-l-X)*8  +  l  +  0,8) ) 
NEXT  I 

FOR  I=M  TO  1  STEP  -1 
C(I)=A(I)+B(I)+D(I) 
D(I-1)=INT(C(I)/1E8) 
R(I) =C(I)-D(I-1)*1E8 
NEXT  I 

PRINT:PRINT"   THE  SUM : A+B= " : RS ( 1 ) =STR$ ( 
R(l> ) :IF  R(1)=0THENR$(1)="{ RIGHT}" 


320 
330 
340 

350 
360 
370 
380 
390 

400 

410 
420 

430 
440 
500 
510 
520 
530 
540 
550 
560 
570 

580 
590 
600 
610 
620 


PRINT 
FOR  1  = 
P=LEN( 
(!}="" 
FOR  J  = 
IF  P<  = 
R$(I)= 
PRINT 
PRINT: 
T(  (TI- 
PRINT: 
OR  N) 
GET  VS 
IF  V$  = 
:GOTO 
IF  VS< 
IF  V5  = 
ZS="": 
PRINT 
GET  ZS 
PRINT 
IF  Z$< 
IF  ZS  = 
ZZ=LEN 
Z1S=LE 
0510 
IF  Z$ 
PRINT 
Z1S=Z1 
RETURN 
END 


RS(1)  ; 
2  TO  M 
RSd)) 


IFM=1  GOTO390 
R$(I)=STRS(R(I)  ) 
R${I)=RIGHTS(R$(I) ,P-1) :F$ 


8  TO  2  STEP  -1 

J  THEl^  FS  (I)=FS  (I)  ■(-"0":NEXTJ 

FS (I)+RS(I) 

RS (I) ; :NEXT  I :PRINT 

PRINT"  EXECUTION  TIME:"; IN 

Tl) *100/60+.5)/100;"SEC" 

PRINT"DO  YOU  WANT  TO  CONTINUE?  (Y 

II 

:IF  VS=""GOTO  410 

"Y"  THEN  CLR;PRINT" [CLEAR} {DOWN}" 

70 

>"N"  GOTO  400 

"N"  GOT062e 

Zl$="" 

"S 5  LEFT}"; 

:IF  Z$=""  GOTO  510 

"  (LEFT}"; 

>CHR$(20)  GOTO  580 

""  GOTO  510 

(ZIS) :IF  ZZ<1  GOTO  510 

FTS (Z1S,ZZ-1) :PRINT  "{LEFT} " ; :GOT 

CHRS{13)  OR  ZS=CHRSC141)  GOTO  610 

ZS; 
S+ZSrGOTO  510 


•   DISK'O'MATE         (Wnie  for  Price) 

A  must  (or  2040/4040  disk  owners.  Write  protect  indicators/ 
switches,  power  indicator  and  error  beeper. 

•"Real  World"  SOFTWARE  isits^s, 

Word  Processor.  Mailing  Lisl,  Catalog,  Ham  Radio.  Frequency  Counter. 


-"OLD"  8K  PETs 

•  2114-TO-6550RAMADAPTER  (S12  »ii 


j  Replace  5550  RAMs  with  low  cost  21  I4s.  Hundreds  Soldf 

'  •4K  MEMORY  EXPANSION    isie  se^i 

Low  cost  memory  ©Kpansion  using  31 14s  \at  bigger  programB. 

OPTIMIZED  DATA  SYSTEMS 

Dept.  C.  P.O.  Box  595  -  Placentia.  CA  92670 

DISK-O-MATE  Ifatfemarfc  QpffrTtllfrtf  Pala  Syttems  -  PET/CBM  trade/ngfl.  Commodate  ^ 


July.  1982,  Issue  26 


COMPUTEI 


97 


For  PET/CBM  or  Atari  disk  users,  any  memory  size.  This 
is  a  handy  program  if  yon  ever  need  to  update  files. 


A  Direct 
Access  File 
Editor 


Charles  Bronnon 
Editoriol  Assistant 


What's  in  a  file?  A  payroll  progiiim  might  keep  a 
Hsl  of  employees,  social  security  numbers,  status, 
etc.,  on  a  cHsk  file.  A  check  balancing  program 
would  probably  save  liic  information  gathered 
during  the  run  of  the  program  such  as  check 
number,  payee,  and  amount  paic!  on  a  file. 

Most  files  are  very  similar-  a  list  of  numbers 
and  strings  (words,  names,  etc.).  Each  line  of  the 
file  is  "sent"  to  the  file  with  some  variant  of  the 
PRINT  statement,  such  as  PRINT#1,A$  or 
FRINT#1,  ZX(I,J).  [PRINT#};  A$  on  Atari.]  Each 
line  (also  called  a  field)  ends  witii  a  carriage  return. 

This  carriage  return  is  used  lo  separate  each 
line  in  the  file.  Otherwise,  the  file  would  be  ju.st  a 
long  block  of  characters,  each  line  running  into  the 
next-  f hese  separaKJis  are  called  dcliinilns.  On 
many  computers,  the  comma  and  colon  can  also  i)e 
used  (but  can  cause  trouble)  as  delimiters.  Ihis  is 
important,  as  we  will  see  later. 

A  File  Editing  Tool 

You  probably  use  files  every  day,  even  if  you're  not 
a  programmer.  If  you  use  any  commercial  software 
such  as  a  word  processor,  or  a  prepackaged  ac- 
counting program,  you  are  unknowingly  gener- 
ating files.  Such  software  writes  files  to  the  disk  to 
save  the  results  of  calculations  and  your  input, 
then  later  redds  the  file,  when  you  run  (he  program 
anew,  to  "restore"  the  original  conditions  and 
information. 

Unfortunately,  few  programs  let  you  edit  this 
information  (excepting  a  word  processor,  of 
course).  You  may  have  a  check-balancing  program 
that  writes  to  disk  all  checks  that  you  enter  in  order 
to  use  this  information  for  taxes  at  the  end  of  the 
year.  This  file  simply  accumulates  information.  If 
you  later  discover  that  you'%  e  made  a  mistake  on  a 
check  entered,  there  is  no  easy  way  to  find  or  correct 
that  check.  What  you  need  is  a  program  that  can 
read  the  entire  file  into  memory,  let  you  view  it 


and  make  selective  changes,  then  rewrite  the  cor- 
rected file  back  out  to  the  disk. 

The  program  here  is  -a  file  editor.  Basically,  it 
asks  you  for  the  name  of  the  file  you  want  lo  edit, 
reads  it  in,  and  lets  you  "page"  through  the  file  19 
lines  at  a  time.  You  can  edit,  replace,  insert,  and 
delete  lines,  as  well  as  search  the  file  for  any 
.sequence  of  characters. 

f  his  program  only  works  with  a  file  organized 
in  the  common  "list"  structure  previously  men- 
tioned (which  limits  it  to  sequential  files  on  the 
PET/CBM). 

The  two  versions  presented  here,  for  the  Atari 
and  the  PET/CBM,  are  different,  but  they  both 
perform  similar  functions.  After  you  enter  the  file 
name,  the  file  is  read  into  a  string  array.  If  the  file 
is  too  large  to  fit  into  memory,  the  message  "FILE 
TOO  LONG"  will  appear.  You  can  change  the 
variable  MAX  (maximum  number  of  lines  in  file)  if 
you  have  enough  memory.  The  file  is  displayed  as 
numbered  lines  in  the  top  19  lines  of  the  screen. 
Your  input  is  taken  at  the  bottom.  When  prompted 
for  a  line,  always  enter  the  numher  of  the  line. 

Miscellaneous 

If  vou  enter  anv  command  that  vou  don't  want  to 
perform  (such  as  Replace  when  you  meant  to  type 
Edit),  you  can  usually  exit  the  command  with  a  null 
input  (just  press  < RETURN >)  on  the  PET/C:BM,  or 
In  pressing  the  ESC  (escape)  ke)-  on  the  Atari. 

Since  commas  and  colons  are  used  as  delimiters 
on  the  PET/CBM,  you  can't  enter  or  edit  a  line 
containing  commas,  fo  enter  such  a  line,  hold 
down  SHIFT  when  vou  press  the  command  key 
such  asSHIFT-E  for  Edit,  SHIFT-!  for  Insert,  etc. 
A  quote  will  automatically  be  printed  at  the  start  of 
the  line,  permitting  vou  to  enter  commas  and 
colons  without  the  infamous  PEXTRA  IGNORED 
message.  After  you  enter  the  line,  all  commas 
(CHR$(44)'s)  are  converted  to  "fake  comma.s"  that 
look  like  commas,  but  don't  work  as  delimiters 
(CHR$(108)). 

Create  A  "Fake  File" 

You  could  even  use  this  program  lo  create  files  if 
you  can  create  a  "fake  file"  containing  only  one 
item  such  as: 

OPEN    1 ,8,8,"0:rilename"  (on  the  PET) 

PRINT#l,"X":CLOSEl 

OPEN#  1 ,8,0,"D:rilename"  (Atari) 

PRINT#  1  ;"X":CLOSE#  1 

You  can  then  Replace  the  first  line  (the  "X"),  and 
use  Append  to  add  to  the  file. 

Ill  leave  you  with  one  important  reminder: 
remember  to  re-SAVE  a  file  after  you  edit  it  or 
your  changes  will  have  been  in  vain. 


July,  1982.  Issue  26 


Editing  Commands 


COMPUTE! 


98 


PET/CBM 

Atari 

Command 

Description 

<RErLRN> 

N 

Next  page 

Displays  the  next  19  lines. 

E 

E 

Edit 

I'he  priniiiry  "change"  conimaiui.  You  enter  the  number  of  die  line  lo  be  changed. 
The  line  isdi.splayed  at  the  bottom  of  thcscreen  with  ihe  cursoron  the  fn-si  character. 
You  can  use  your  coniputer'.s  editing  keys  lo  change  the  line  (just  like  in  an  INPUT 
statement).  Press  <RF.f  URN  >  when  iinished. 

R 

R 

Rcpkuf 

You  just  enter  a  coini>letely  new  line  to  t  epiace  anv  line  in  the  lilc. 

! 

I 

Insert  Line 

For  Atari:  you  enter  the  nunilier  of  the  line  you  want  to  insert  a  new  lineal.  That  line 
and  all  following  lines  are  "pushed  down,"' and  the  word  "***  I NSERT  ***"  is  in- 
serted. You  can  then  use  Replace  lo  add  a  new  line.  For  PET/CUM:  you  enter  the 
niunber  ofthe  line  you  want  lo  insert  a  line  al,  and  then  you  enter  the  line  you  want 
inserted. 

D 

D 

Delete  Line 

Enter  the  ininiber  of  the  line  to  he  deleted.  The  following  lines  will  he  "pulled  up" 
to  nil  the  gap.  For  PET/CBM :  1  (you  u.seSHI  FT-D  (shifted  D).  you  can  enter  the 
starting  and  ending  lines  of  a  block  of  lines  you'd  like  deleted. 

A 

A 

Append  Line 

.After  you  ivpe  "A"  you  can  enter  a  new  line  which  will  be  added  to  the  end  ofthe  flic. 

1' 

P 

I'rinl 

Enter  ihe  starting  and  ending  lines  of  the  block  of  lines  you  would  like  printed  lo  the 
printet .  For  the  I'ET/CBM,  this  is  device  number  four.  You  can  just  hit  <RETURN  > 
to  both  prompts  lo  print  the  entire  file  (.-Xiari  version). 

S 

\V 

Save/Write 

Stoi  es  the  file  on  disk.  PET/CBM:  scratches  the  old  file,  then  writes  the  new  file. 
Atari:  Replaces  the  old  file,  unless  you  save  the  file  inideranother  name. 

X 

Q 

ExityQuil 

Lets  you  end  the  prograin. 

0/1 

tSIART] 

Re-run 

Atari  version:  If  you  press  the  ST.ARF  key  al  the  prompt  "Which?"  you  can  RU  N 
the  program  o\cragain.  PET/CBM  version:  Entering  zero  or  one  specifies  which 
drive  to  use  for  t  he  next  file  you  want  to  edit.  You  ran  then  enter  the  new  file  natnc. 

G 

(; 

(io  to  line 

Lets  you  "ski)>  around"  in  the  file.  Enter  the  number  of  tiie  line  ycni  want  to  see. 

n/a 

o 

Other  menu 

There  are  two  menus  in  the  .Mari  version,  since  the  bottom  of  the  screen  can  ontv  hold 
so  many  cotnmands.  The  other  menu  contains  the  commands  Length,  Seat  ch,  and 
Next  Search.  You  can  add  your  own  commands  to  this  menu. 

H 

ii/a 

Help 

Liilike  the  Atari  version,  the  PE  IVCBM  version  doesn't  constantly  display  all  choices, 
just  type  H  lo  see  a  list  of  all  options. 

K 

ii/;i 

Kill  File 

Lets  you  scraicli  a  file  from  within  the  program. 

Z 

n/a 

— 

Flips  the  character  set. 

F 

Q 

S* 

Find/Search 
Quick  Find 
Next  Seaicli 

*Use(0)lber 
Mi'nu 

You  enter  ascries  of  characters  you  want  to  find  in  the  fife.  In  the  PEI7CBM  version, 
all  matching  lines  are  displayed.  Ptess  any  key  to  abort  the  search.  The  .At:ii  i  version 
only  dls])lays  the  first  occurrettce  ofthe  match.  The  Next  Search  conimand  is  used 
to  find  the  next  occurrence  of  the  same  search  string.  You  can  search  either  by 
character  or  by  line.  The  character  search  will  search  the  entiie  f~ile  characier-tjy- 
character  for  the  string,  whet  e  the  line  search  only  matches  the  .search  string  with 
the  beginning  ofthe  line,  and  is  naturally  faster.  The  PET/CBM  veision  has  a 
separate  command,  Quick  Find,  to  search  bv  line. 

L 

I. 

Leiitrih 

Displays  ihe  number  of  lines  in  the  file. 

Program  1.  PET/CBM  Version 

120  PRINT" (CLEAR) { REV} "TAB ( 15-20* (PEEK ( 2 13) 

-79) )"*FIXFILE*" 
110  PRINTCHR$(14) ; : POKE59468 , 12 
120  MAX=1000iREM  MAXIMUM  NUMBER  OF  LINES  AL 

LOWED 
130  DIMAS (MAX) :REM  CHANGE  TO  SUIT  MEMORY/FI 

LE  REQUIREMENTS 
140  PRINT" [DOWN}ON  WHICH  DISK  WILL  WE  WORK? 


150  GETD$:IFD5<"0"ORDS>"1"THENK=1-K!PRINTMI 

DS("{REV){0FP)",K+1,1);"  (LEFT)"; : 

GOTO150 
160  PRINT"{OFF}"D$ 
17a  OPEN15,8,15:FILS$="   *" 
180  INPUT"WHAT  IS  THE  FILE'S  NAME?_*{03  LEF 

LEFT) "; F$:IFF$="*"THENF$=MID$ (FI$, 

3) 
190  FILS=DS+":"+F$ 
200  OPEN8,8,8,FILS+" ,S,R" ;J=0 
210  INPUT#15,EN,EMS 
220  IFENTHENPRINTEMS :GOTO1420 


ECLECTIC  SYSTEMS  CORPORATiON 
Order  TOLL  FREE  1-800-527-3135 


P.O.  Box  1166  •  16260  Midway  Road 
Addison,  TX  7S001  •  (214)  661-1370 


ANNOUNCES 


commodore 


EM®  for  the  SuperPET 

EM®  is  ANSI  standard  MUMPS 

Make  your  SuperPET  Super-Load 
^  in  EM®  and  Dramatically  Improve 
your  Programming  Productivity 


EM=  is  moie  than  just  a  programming  langjage.  It  is  a  well  integrated  data  management  system  combining  with  one  syntax  what  other  operating  systems  would 
call  1)  an  application  programming  language;  2)  a  job  control  language:  3)  a  linkeage  editor;  4)  a  database  management  system;  and  5)  a  communications 
monitor. 

EM^  provides  all  programming  management  facilities  needed  lo  manage  programs  and  program  (lies.  Programs  can  be  created^  edited  cataloged  and 
debugged  from  within  EM=,  Programs  can  be  as  large  as  disk  capacity  A  resident  algorithm  rids  memory  of  least  frequently  used  variables  and  program 
modules  so  that  what  you  need  off-disk  normally  resitJes  in  memory. 

EM'^  makes  string  tiandling  easy  witti  its  extensive  set  of  string  operations  and  functions.  Variable  length  strings  can  be  used  routinely  without  the  obstacles 
presented  by  most  oltier  programming  languages. 

EM"^  can  "filter"  user  input  with  a  useful  pattern  matching  that  will  result  in  fewer  user  or  device  errors.  For  example:  dates,  zip  codes  and  names  can 
be  tested  tor  valiriity  with  a  single  statement. 

EM*^  Obviates  the  need  for  traditional  read  and  write  operations  on  secondary  storage  devices  by  allowing  data  elements  to  be  directly  referenced  as  a 

set  of  subscripts;  all  the  details  of  tile  organization  and  retrieval  are  dandled  by  the  system. 

TiimiMP* 

EM=  enables  a  programmer  to  associate  liming  constraints  with  several  operations.  This  feature  allows  testing  for  terminal  malfunctions  as  well  as 

prompting  users  in  time -critical  dialogue. 

DATA  BASE  MANAGEMENT:  ^    ^  ,        ^ ,  ., 

Sorts  and  merges  are  not  necessary  as  EM=  automatically  stores  data  in  a  dynamically  allocated  balanced  tree  structure.  Random  access  to  any  data  item 

requires  at  most  three  disk  reads. 

EM^  UNMATCHED  IN  PROGRAMMING  PRODUCTIVITY:  .       ,        .     . 

System  houses  that  program  in  EM'=  (MUMPS)  find  that  their  costs  are  lower  than  those  of  their  competitors  using  other  languages.  Fewer  lines  of  code 

are  necessary  per  application.  Dimension  statements  ate  not  required.  Subscripts  may  be  alpha,  numeric  or  any  legal  string.  Data  types  need  not  be  rfefiner] 

and  can  change  freely  throughout  as  EM''  can  recognize  when  it  is  dealing  with  alpha,  numeric,  integer  or  floating-point  data  types.  EM  -  gives  the  professional 

programmer  a  full  set  of  software  tools  designed  for  real-life  tasks  and  problems  he  consistently  encounters  in  the  production  and  maintenance  of  application 

software.  EM*=  adheres  rigidly  to  ANSI  MUMPS  standards,  which  make  it  transponable  to  larger  processors  manufactured  by  DEC,  TANDOM,  DATA 

GENERAL,  HARRIS  and  others.  Additionally  EM^  gives  the  less-experienced  programmer  the  tools  to  do  a  professional  job  on  formidable  programming 

applications. 

You  may  order  EM®  or  SuperPET  by  calling  ECLECTIC  SYSTEMS  toll-free  at 

1-800-527-3135  from  10  AM  to  4  PM  CDT  Monday  through  Friday,  or  you  can 

order  by  mall  using  the  form  below.  Texas  residents  call  1  -21 4-661-1 370. 

ECLECTIC  SYSTEMS  CORPORATION 

RO.  Box  11 66, 1 6260  Midway  Road,  Addison,  Texas  75001 

Here's  my  order  for  EM*@  $299  plus  $3.75  for  shipping  and  fiandling  (UPS  surface  unless 
specified  otherwise}.  Residents  of  Texas,  Louisiana,  OI<lahoma  City  and  Tulsa,  Oklahoma 
must  add  applicable  taxes. 
D  My  certified  check  or  money  order  is  enclosed. 

D  Please  charge  my  VISA  # or 

MasterCard  fl Expiration  date 


Name 


Signature 


Address 


City 


State 


Zip 


100 


COMPUTEI 


July.  1982,  Issue  26 


230  CLOSE0:REM  RESETS  ST  TO  0 

240  IFST=64THEN280 

250  J=J+1:INPUT#8,A$(J) 

260  IFJ<MAXGOTO240 

270  PRINT"{DOWN}FILE  TOO  LARGE" : CLOSES :END 

280  CLOSES 

290  K=0:SK=1 

300  PRINT" {CLEAR} ":K=SK-1 

310  K=K+1:IFK>JTHENK=0:GOTO360 

320  IFPEEK(216)=1THENSK=K 

330  N=K:GOSUB1300:PRINTNS;A$ (K) 

340  IFPEEK(216)>=20THEN360 

350  GOTO310 

360  PRINT:PRINT"COMMAND?  "  ,- 

370  GETCM$:IFCM$=""THENZ=1-2:PRIKTMID$("{RE 
REV}{0FF}",Z+1,1) ;"  {LEFT}"; :GOT03 
70 

380  SH=0:CM=ASC(CM$) : IF (CMAND127) OCMTHENSH 

=1:CMS=CHRS {CHAND127} 
390  PRINT" {OFF} ";CM$ 
400  IFCMS=CHR$ (13)THENPRINT"{CLEAR} ":G0T031 

0 
410  IFCM$<>"I"THEN460 

420  NS=1:PRINT"(UP5INSERT  AFTER  WHICH  ITEM" 
; :GOSUB1310;IN=VAL(IN$) :IFRTTHEN4  5 
0 
430  J=J+l:FORI=JTOIN+2STEP-ltA5 (I) =A$ (I-l) - 

NEXT 
440  PRINT"ENTER  NEW  LINE : " : GOSUB1310 ; I FRT=0 

THENA$ (IN+1) =IN$ 
450  GOTO300 

460  IFCM$="X"THENPRINT" {CLEAR} ":GOTO830 
470  IFCM5<>"K"THEN510 

480  INPUT" {UPlARE  YOU  SURE? {03  LEFT}";X$: 

IFX$<>"Y"THEN290 
490  PRINT" {CLEARlNOW  KILLING  THE  FILE...":P 

RINTifl5,"S"+FIL$ 
500  PRINT  FIL$"  HAS  NOW  BEEN  SCRATCHED. " :G0 

TO1420 
510  IFCMS<>"D"THEN590 
520  NS=1:IFSH=0THENPRINT" {UP}DELETE  WHICH  I 

TEM"; :GOSUB1310:DL=VAL(IN$) :D2=0 
530  IFSH=0ANDDL=0THEN300 
540  IFSH=lTHENINPUT"{UPjDELETE  WHICH  ITEMS? 

{03  LEFT}"; IN$,D2:DL=VAL(IN5) 

550  IFDL=0THEN300 

560  Z=1:DI=D2-DL:IFDI<0THENDI=1:Z=0 

570  J=J-DI-Z:FORI=DLTOJ:A$ {I)=AS {I+DI+Z) :NE 

XT 
580  GOTO300 
590  IFCMS<>"S"THEN640 
600  PRINT#15,"S"+FIL$ 
610  OPEN8,8,8 ,FILS+",S,W" 
620  FORI  =  1TOJ:PRINT#8,A$  (I)  ;CHR$(13)  ;  .-NEXT: 

CL0SE8 
630  GOTO300 
640  IFCM$<>"G"THEN680 
650  PRINT" {UPjGOTO  WHICH  LINE" ; :NS=1 :G0SUB1 

310:IFRTTHEN300 
660  L=VAL(IN$) :IFL<1ORL>JTHEN640 
670  K=L-1:PRINT" {CLEAR} ":GOTO310 
680  IFCMS<>"R"THEN730 
690  PRINT" {UP}REPLACE  WHICH  ITEM" ; :NS=1 :GOS 

UB1310:R=VAL(IN$) :IFRTTHEN30  0 
700  IFR<1ORR>JTKEN690 
710  PRINT"ENTER  NEW  LINE : " :GOSUB1310 : IFRT=0 

THENAS (R)=INS 
720  GOTO300 
730  IFCM$<>"P"THEN800 
740  IFSHTHENFR=1:TU=J:GOTO760 
7  50  DN=4 
760  INPUT"FROM  LINE, TO  LINE";FR,TU 


7  70  IF(FR<10RTU<1)0R(FR>J0RTU>J)0R(FR>TU)TH 

EN750 

7  80  OPEN1,DN:FORI=FRTOTU:N=I:GOSUB1300:PRIN 

T#1,NS;A$(I) :NEXT:CL0SE1 
790  GOTG300 

8  00  IFCMS<>"1"ANDCM$<>"0"THEN840 

810    PRINT" {CLEAR} " : IFCM$<>D$THEND$=CM$ :GOT0 

180 
820   GOTO180 
830    GOTO1420 
840    IFCM$<>"F"THEN920 
850    PRINT"{UP}FIND   WHAT" ; :GOSUB1310 ■ SS=IN$ - 

PRINT" {CLEAR} ":Z=0: I FRTTHEN300 
860    FORI  =  1TOJ:FORK=1TOLEN(AS{I)  ) 
870    IFMID$(A$(I) ,K,LEN(S$))=S$THENN=I:GOSUB 

1300:PRINTN$;A$ (I) :Z=1:GOTO890 
880    NEXTK 

890    GETA$:IFA$<>""THENI=J 
900    NEXTI :IFZ=0THENPRINT"NOT    FOUND." 
910    GOTO360 
920    IFCMS<>"E"THEN970 
930    PRINT"{UP}EDIT    WHICH    LINE" ; : NS=1 :G0SUB1 

310:L=VAL(IN5) :IFRTTHEN300 
940    IFL<1ORL>JTHEN930 
950    V=1:ZS=CHR$(SH*29) :PRINT"?    "; Z$ ; A$ (L) ; " 

{UP}":GOSUB1310:IFRT=0THENA$ (L}=IN 

s 

960  GOTO300 

970  IFCHS="L"THENPRINT"FILE  LENGTH: "; J ; "LIN 

ES.{DOWN5":GOTO1290 
980  IFCM$="Q"THEN1430 
990  IFCM$<>"A"THEN1020 
1000  PRINT"ENTER  NEXT  LIME : " :G0SUB13 10 : I FRTT 

HEN300 
1010  J=J+1:AS (J)=IN3:GOTO300 
1020  IFCM$<>"H"THEN1270 
1030  UL=PEEK(59468) :POKE  59468,12 
1040  PRINT"{CLEAR}"TAB(7)"{REV)LIST  OF  FIXFI 

LE  COMMANDS {DOWN} " 
1050  PRINT"A  =  APPEND" 
1060  PRINT"D  =  DELETE" 

1070  PRINT"D  =  (SHIFT)  DELETE  RANGE" 
1080  PRINT"E  =  EDIT  A  LINE" 
1090  PRINT"F  =  FIND  A  STRING" 
1100  PRINT"G  =  GO  TO  LINE  i" 
1110  PRINT"!  =  INSERT  LINE" 
1120  PRINT"K  =  KILL  (SCRATCH)  FILE" 
1130  PRINT"L  =  PRINT  LENGTH  OF  FILE" 
1140  PRINT"P  =  PRINT  FILE  TO  PRINTER" 
1150  PRINT"Q  =  QUICK-FIND" 
1160  PRINT"R  =  REPLACE  LINE" 
1170  PRINT"S  =  SAVE  FILE  (DON'T  FORGET!) 
1180  PRINT"X  =  EXIT  FIXFILE" 
1190  PRINT"Z  =  SWITCH  UPPER/LOWERCASE 
1200  PRINT"0  =  EDIT  A  FILE  FROM  DRIVE  0" 
1210  PRINT"!  =  EDIT  A  FILE  FROM  DRIVE  1 
1220  PRINT" {DOWN} HOLD  DOWN  SHIFT  WITH  COHMAN 

DS": PRINT"A,E,F,I,Q,R" 
1230  PRINT"TO  ENTER  COMMAS  OR  COLONS." 
1240  PRINT"PRESS  A  KEY  TO  CONTINUE..." 
1250  GETA$:IFA$=""THEN1250 
1260  POKE59468,UL;GOTO300 
1270  IFCMS="Z"THENP0KE59468,12+2* (PEEK (594  68 

) =12) :PRINT"{02  UPJ " ; :GOTO360 
1280  PRINT"{REV}TRY{OFF}  A ,D , E , F ,G , I ,K , L, P ,Q 

,R,S,X,Z,1  OR  0":PRINT"OR  {REV}H{0 

OFF}  FOR  HELP" 
1290  PRINT" {03  UP}COMMAND?     {UP}  ";  :GOTO360 

1300  NS="tREV}"+RIGHT$("     "+HIDS (STRS (N) ,2 

) ,4)+" {OFF}  " : RETURN 
1310  RT=0:ZS=CHR$ (160+SH* 126* (NS=0) ) 


The  Hard  &  Soft  of  It: 


If  you're  into  Atari,  get  into  ASAP.  Wtien  it 
comes  to  Atari,  ASAP  lias  it  all  —  computers, 
a  full  line  of  accessories,  and  one  of  the 
most  complete  lines  of  software  on  the 
market.  Wtiether  you  use  your  Atari  for 
work  or  play,  make  ASAP  your  source.  Call 
today. 

Ttie  Atari®  800™  Computer  features  color 
grapfiics  and  English  characters  with  truly 
high  resolution,  high  quality  sound,  expand- 
able memory  and  sleek  modular  appearance. 

Atari®  400'"  —  16K  also  available:  S349.00. 

OPTIONAL  ACCESSORIES  PRICE 

ATARI®  410"  Program  Recorder ....  80.00 

ATARI®  810'"  Disk  Drive 455.00 

ATARI®  822'"  Thermal  Printer 299.00 

ATARI*  820'"  40-column  Dot 

Matrix  Impact  Printer 279.00 

ATARI®  825'"  80-column  Dot 

Matrix  Impact  Printer 625.00 

ATARI®  830"  Acoustic  Modem ....  159.00 
ATARI®  850"  Interface  Module ....  175.00 
ATARI*  Paddie  (CX30-04)  and 

Joystick  (CX40-04)  (Pair) 17.95 

ASAP  16K  RAM  Module 55.00 

COMPLETE  SOFTWARE  LIBRARY  INCLUDES 
THESE  POPULAR  UNITS: 
Atari ^ 

Video  Easel  ROM 25,00 

Music  Composer  ROM  ...42.00 
Assembler/Editor  ROM  .,45.00 


ALVRI  from  ASAP 


Mortgage  Loan  Analysis 

Cassetle 

,  1h,9h 

Stock  Analysis  Disk 

.  19.95 

Stock  Chiarting  

.  22.95 

Bond  Analysis  Disk 

.22.95 

Mailing  List  Cassette  . . . 

.  19.95 

Touch  Typing  (2  Cass) . . 

.  19.95 

Graph  It  (2  Cass) 

.  17.95 

Word  Processor 

119.00 

Personal  Finance 

.64.95 

Microsoft  Basic 

.75.00 

Basketball  ROM 

.  27.00 

Super  Breakout  ROM  . . . 

.  30.00 

Computer  Chess  ROM  .. 

.  32.00 

3D  Tic  Tac  Toe  ROM . . . 

.25.00 

Star  Raiders  ROM 

.36.00 

Kingdom  Cassette 

.  12,95 

Blackjack  Cassette  . . . 

,  12.95 

Biorhythm  Cassette  . . . 

.  12.95 

Energy  Czar  Cassette. . 

.  12.95 

Telelink  ROM 

Space  Invaders  ROM  . 

Scram 

Asteriods 

Missile  Command 

Caverns  of  Mars  Disk  , . . 

Centipede  Disk 

Pac-Man 

Arcade  Plus 

Ghost  Hunter  Cassette  . . . 

Ghost  Hunter  Disk 

Datasoft 

Atari  Mailing  List  Disk 

Atari  Character  Generator 

Disk  

Text  Wizard  Disk 

Wlicropainter  Album  1 

Disk  

Micropainter  Album  2 

Disk  

Le  Stick  Accessory  .... 


24.00 
30.00 
18.95 
32.00 
32.00 
30.00 
35.00 
35.00 

25.00 
.30.00 

.  19.95 

16.95 
89.95 

16.95 

16.95 
30.00 


Qn-Llne : 

HI-RES  Adv#0- Mission: 

Asteroid  Disk 19.95 

HI-RES  Adv  #2  —  Wiz  S  Princess 

Disk  25.00 

RoadworkDisk 29.95 

Jawbreaker  Disk 25.00 

Softporn  Adventure  (X-raled) 

Disk  25,00 

The  Next  Step  Disk 29.95 

Personal  Software 

Visicalc  Dist< 169.00 

FOR  HOME  ENTERTAINMENT 

SYSTEMS: 

Activision 

Dragster  Cartridge 18.50 


Boxing  Cartridge 18.50 

Checkers  Carfridge 18.50 

Fishing  Derby  Cartridge. .  .18.50 

Skiing  Cartridge  18.50 

Bridge  Cartridge 23.50 

Tennis  Cartridge 18.50 

Laser  Blast  Cartridge 18.50 

Freeway  Cartridge 18.50 

Kaboom!  Cartridge  18.50 

Stampede  Cartridge 18.50 

Ice  Hockey  Cartridge  . . .  .23.50 


computer  ■ 
products,  inc. 

1198  E,  Willow  si..  Signal  Hill,  CA  90806 


ALL  PRICES  SUBJECT  TO  CHANGE  WITHOUT  NOTICE  CALL  FOR  BEST  PRICE 

ASAP  offers  a  15-day  buyer  protection  policy:  full  money-back  guarantee  if  not  totally  satisfied. 

Ordering  Inlormation:  name,  address,  phone:  ship  by:  UPS  or  Mail.  Shipping  charge:  add  S2.90  up  to  1  lb.  (UPS 

blue).  U.S.  Mail  add  SI. 50  (U.S.  only)  (325.00  minimum  order). 

Terms:  We  accept  cash,  check,  money  orders.  Visa  and  Master  Charge  (U.S.  funds  only).  Tax:  6%  Calif,  res.. 

COD'S  and  terms  available  on  approval  (School  PO's  Accepted). 

Toll  free  outside  California:  (800)  421-7701.  Inside  California:  (213)  595^5431  (714)  891-2663 
Inside  Canada  call  ASAP  Computer  Products,  LTD..  1 16  Viceroy  Rd..  D-12  Concord,  Toronto,  Ontario,  Canada  L4K 1A9  (41 6)  738-0500  (800)  268-1 996 


102 


COMPUTE! 


Juty,»82.  Issue  24 


1320  IFV=1ANDSH=0THENZ$=" [RIGHT} ":V=0 

1330  PRINT"?  ";Z5;  ;POKE205,0:PRINT"{03  LEFT} 

n  . 

f 

1340  IFNS=0ANDSH=1THENPOKE158 , 1 :POKE6  23 , ASC ( 

" [RIGHT}") 
1350  INPUTIN$ 

136  0  IFIN$=Z$THENNS=0:RT=1: RETURN 
1370  IFSH=0ORNS=1THENKS=0: RETURN 
138  0  F0RI=1T0LEN(IN5) : IFMID$ ( IN$ , I , 1 ) <> " , "TH 

EN1410 
1390  REM  CHR$(108)  IS  FAKE  COMMA.   SAVEABLE  " 

TO  DISK 
1400  INS=LEFT$ (IN$,I-1)+CHR$ (108)+MID$ (IN$,I 

+  1) 
1410  NEXT:RETURN 
1420  CLOSE8:CLOSE15:END 
1430  PRINT"[UP}QUICK-FIND  WHAT" ; 
144  0  FOUND=0:GOSUB1310:IFRTTHEN300 
1450  S$=IN$:L=LEN(S$) : PRINT" {CLEAR) " ; 
1460  F0RI  =  1T0J:IFLEFT${A$  (I)  ,  L)  OSSTHEN14  9  0 
1470  N=I :GOSUB13  00:PRINTN$;A$ (I) :F0UND=1 
1430  IFPEEK(216) >2  0THENWAIT158 , 1 :GETA$ :PRINT 

"{CLEAR}" 
1490  GETA$:IFAS<>""THENI=J 
1500  NEXT 

1510  IFFQUND=0THENPRINT"NOT  FOUND." 
1520  GOTO360 


Program  2.  Atari  Version 

106  RB1     FIXFILE-File  Editor-  vl.O 

110  REH  Charles  Brannon.   1982 

120  REH 

130  GRAPHICS  0:SETCLILOR  4,9,4 

140  DLI ST=PEEK(  566  )+25b:^:PEEK(  561  )+4 

150  POKE  DLIST-L 7+64: POKE  DLIST+2.6 

160  POSITIiJN  b..0^?  "FIHFILE" : POSITI»i  3+ 

28.0:?  "a  tile  editor" 

170  DIM  TErP$(36).FIL£$(14> 

180  riAX=20w:REM  flaxiftiuiTi  rmt&-  of  lines 

in  the  -file 

190  DIM  DISK.$(f1AX:^.35>.LN<MA:>r;',KEV$(35) 

200  OPEN  #L4>0/'K:":POKE  752,1 

210  ?  ■■?  "(Pf-ess  tRETURHI   alone  for  dire 

ctora.  )":? 

220  ?  t?  "Enter  Filename  -  0= 

{12  LEFT>"; 
230  G03UB  1340-SETCuLOR  0.18,12 
240  IF  TEMP$="  "  T^£H  i:OSUB  1880  ^RU^i 
250  FILE$="D : " : FILE$< 3 )=TEMP* 
260  ?  ■■?  "(2  UP>Readin3  "jFILEt, 
270  TRAP  288:rjPEH  1*2,4, 0,FILE$:iXTO  2-90 
280  CLKE  rd-?   ■•?  "CUP) Error  -  ";PEEK(19 
5),,: GOTO  220 
290  TRAP  350:LIh£S=0 
300   WUT  #2;TErf"* 
310  L=LEN';TErP*>:li+:LIi€S>=L 
320  DISK*-<  Ln€S-;S;35+l ,  LIh£S:^35+L  >=TEriF-$ 
330  LINES=LIhO+l  =  IF  LIh£S<riH:>i  THEN  380 
340  ?  :?  "{UP> Error  ~  File  too  Larse!";: 
GOTO  0 


350  IF  PEEK(195X>136  THEN  288 

360  CLOSE  #2 

370  CURF^0:POKE  82,0:LD€S=Ln€S-l 

380  URAPHICS  0-SETCOLOR  4,9,4:PuKE  752,1 

:P0KE  766, 1 

390  FOR  I=CLJRF.;  TO  Cli?R+18 

400  IF  I>LI^£S  T^EH  POP   ^GOTO  458 

410  TB1F'$=" 000" :  TETIPfC  4-LB+;  STR*c:  I ) )  )=ST 

m.  I  > 

420  FOF;  J=l  TO  3:TEr-p*(.J,.J>=CHF:i(ASC(TB1 

P$(.J>H128):hEKT  J 

430  ?  TEriP$i "  " .: DISK$(  1:^35+1 ,  l:^35+UK  I  > ) 

448  h£XT   I 

450  F'OK.E  76fa,0:FfJSITIOH  0,19:?  »{4e  r>"; 

460  POKE  703 . 4 

470  ?  "■lCLEftR}iEldit  iRIeplace   lllreert 
lOlelete    lAip^^end   IPJrint  lUlrite   IQluit 
[NIext  Pase   IGloto   101  the-   1  START  I" 
488  ?  :?  "14^ id-,?  "; 
490   IF  PEEK< 53279 )=6  ThEH  1380 
500   IF  PEEK(764)=255  THEH  498 
510  F-^f'EEKC  702):  POKE  782,  €4 : GET  #1,A:P0K 
E  702, P 

520   IF  R=ASC("0")  THEH   1458 
530  IF  AOASCC'E";'  Tt£H  588 
540  ?  "iCLEARlilEDITh   l^.icK  Line?  ";:G0S 
Ue  1200:  IF  H<0  OR  N>LIh£S  THEH  548 
550  ?  "LCLEAFJ- Enter  ch^anees,   prass  IRETU 
RH!" 

560  ?  "         ";DISK*CN*35+1,N*35+LN<Hj):? 
"-LUFO"j:UJSUB  1180 
570  GOTO  610 

580   IF  AOASCC'R")  Th£N  628 
590  V  "CCLEAFOi  REPLACE!:   I4.ich  Line?  " ; : 
GOSUE  liW^IF  N<0  OR  H>LIh£S  ThEH  598 
600  ?  "Enter  new  Ur«^":GOSUB  1180 
610  LW..  H  )=LB-1';  TEt1p:J ) :  DISK$(  H'i;35+ 1 ,  tt^35+L 
H(H>>=TEMP$:QJTn  330 
620   IF  H<>A£tX"I")  ThEH  678 
630  ?  "CCLEAFO Insert  a  1  ir^  at  line:    "; : 
GOSiUB  1280:  IF  f-KO  OR  H>LIh€S  THEH  630 
640  ?  "Pat i erce.  ..": LI hES=LIh£S+(LItES<ri 
AX>:DISK*(LIHES*35>="   " 
650  FOF:   I=LIHES  TO  H+1  STEP  -l:TEt1P$=DIS 
K$(  (  I-l  ):i^35+l ,  1*35 )  ■■  DISK$(  1*35+1 ,  1*35+35 
>=TEriPt- :  LN<  I  >=LH(  I  - 1 ) :  t€XT  I 
t&^  DISK*(N*35+LN*35+14;'="***  IH^BERT  U 
*":LH-;H)=14:G0T0  388 
670  IF  ft<>ASC("D">  THEH  738 
688  ?  "CCLEARj- Delete  which  line?  ";:G0SU 
B  1208:  IF  H<0  OR  N>LIhES  ThEH  6S0 
698  IF  N=LIt€S  ThEH  LIt-ES=LIHES-( LINES >0 
):G0TO  380 

700  ?  "F-itierce.  ..":LIhES=LIfES-(LIhES>0 
):DISKt(LINES*35+71>="   " 


SJB  DISTRIBUTORS. 
TIE  MOST  COMPnniyE 
PRICES  ON  COMMODORE 
PRODUCTS. 


Bcommodore 


REGISTER  FOR  OUR  NEW 
SOFTWARE  SUPPORT  SERVICE! 

ORDER  TOLL-FREE 

800-527-4893     800-442-1048 

(Outside  Texas)     (Within  Texas) 

MASTERCARD,  VISA,  MONEY  ORDER, 
BANK  CHECK,  COD  (ADD  $5)  ACCEPTED. 

Add  3%  Surcharge  For  Credit  Cards. 

In  Stock  Items  Shipped  Within  48  Hours,  F.O.B.,  Dallas,  Texas. 

All  Products  Shipped  With  Manufacturer's  Warranty. 


SJB  DISTRIBUTORS,  INC. 

10520  Piano  Road 

Suite  206 
Dallas,  Texas  75238 
(214)  343-1328 

Prices  are  subject  to  change  without  notice. 


AUTHORIZED  SALES  AND  SERVICE 
FOR  THE  FOLLOWING  PRODUCTS  — 

HARDWARE: 

SuperPETSP9000,  96K S1 

CBM  8032  Computer,  80  Col 1 

CBM8050  Disk  Drive,  1  Mb 1 

CBM  8250  Disk  Drive,  2  Mb 1 

CBM  D9060  Hard  Drive,  5  Mb 2 

PET  4032  Computer,  40  Col 

CBM  4040  Disk  Drive.  340K 

CBM  2031  Disk  Drive,  170K 

CBM  Memory  Expansion,  64K 

CBM  4022  Printer,  Graphics 

CBM8023P  Printer,  150  CPS 

CBM  8300P  Printer,  Ltr.  Qual 1 

Commodore  64  Computer,  64K 

VIC  20  Computer,  5K 

VIC  Datasette  Recorder 

VIC  1540  Disk  Drive,  170K 

VIC  1515  Printer,  30  CPS 

VIC  8K  Memory  Expansion 

MONITORS: 

Panasonic  CRT,  13"  Color S 

Panasonic  CRT,  9"B&  W  

PRINTER  PAPER: 

9y!"x  11"  Continuous,  Blank 
2700  Sheets,  Carton 


599  (New) 
069 
299 

,760  (New) 
,795  (New) 
950 
969 
525 
399 
595 
769 
,750 

595 (New) 
259 

69 

467 (New) 
320 

50 

405 
144 


S      32 


SOFTWARE: 

QZZ  Data  Base  System  (8050) $ 

Silicon  Office 

Wordcraft  80 

Wordcraft  Ultra 

VisiCalc 

Personal  Tax  Calculator 

Dow  Jones  Portfolio 

Management  System  (RS232) 

WordPro  4+  or  5 

The  Manager 

Galaxy  One 

Legal  Time  Accounting 

I,R,M,A 

B.P.I.AyR.G'L.  Job  Cost, 

Inventory,  Payroll 

VIC  Games  Cartridges 

V!C  Cassette  Recreation  Pack 

VIC  Cassette  Calculation  Pack 


289 

995  (New) 
289 

429  (New) 
199 
59 

120 
299 
199 

39 
449 
380 

325 /pkg 
23  ea 
44 
44 


DISKETTES: 

Verbatim  #18158,  5'/4", 

SSDD,  Hub  Ring,  Box  of  10 S     30 

3M  "Scotch"  #744-0,  5'A". 

SS.'SD,  HubRing',  Boxof  10 33 

Memorex  #3481 ,  5VV. 

SS/DD,  Hub  Ring,  Box  of  10 28 

SJB  carries  many  other  lines  of  equipment  and 
products.  Call  us  for  a  free  catalogue. 


104 


COMPUTEI 


July.  1962,  Issue  26 


710  FOR  I=H  TO  LINES  =  TeF*=DISK$<(I+l>*3 

5+l.(I+n:05+35> 

720  DISK*(  1*35+1, It35+;S>=TE11>$:LHCI>=LH 

(I+1>  =  ^EXT  I^GOTO  380 

730  IF  ftOASCC'A")  THEM  790 

740  IF  LIHES=mX  THEN  ?  "^CLEftR}Not  enou 

9h  rowrt!":FOR  W=l  TO  200;NEXT  W  =  GOTO  470 

750  CURR=(LII€S-17>*<LIHES>18) 

760  ?  " {CLEARS Eriter  line  to  be  appended  = 

"=GOSUB  1180=  IF  TEriP$="  "  T€N  478 

770  LIl€S=LINES+l 

788  LN(  LINES  >=LEH<  IBPt  >  =  Dr=K$( LINES^35+ 

LLINES*35+LHCLU€S))=TErP$  =  G0T0  380 

790  IF  AOftSCC'P")  THEN  870 

800  ?  "CCLEARJIPRIhlTh  Turn  on  printer. 

press   iRETURHl":GET  tLA'IF  A=27  im\  47 

0 

810  TRAP  320= CLOSE  tt2=0PEH  #2.8,0,"P="=G 

OTO  830 

828  ?  "{CLEARIKKLL} Printer-  not  ready.": 

?  "tDOtW Press  IRETURNi"  ^GET  #Lr^CLOSE 

#2  =  GOTO  476 

830  ?  "Star-tins  Line?";  =G03UB  1200  =  S=H 

840  ?  "Endins  Line?";  =QDSL!B  1208=  IF  N=0 

im\  hRINES 

850  FOR  I=S  TO  N=PRIt^T  #2;DISK*(IJ.35+L  I 

*:S+LtXi;')  =  HEXT  I 

8b0  LPRIHT   = CLOSE  #2= TRAP  8= GOTO  470 

870  IF  A<>hSC:<"W")  THEW  978 

8£S  ?  "-CCLEAR>ltRITEI=  S-nue  file  to  disk 

II 

890  ?  "Use  same  file  name?  (Y/MV; 
900  GET  #LA=IF  A-(>A:BC("Y")  AND  AOASCC " 
N">  AND  H<>27  THEN  9® 
918   IF  A=27  im\  478 
920   IF  A=HSCr'N">  T«N  ?  " -CCLEAR;) Enter  f 
ile  naine=    ";  =i:;o:3UB  1340  =  FILE$="D= "  =FILE* 
(3)=TeiP* 

930  ?  "(CLEAPJSAtJIfC  FILE  TO  ";FILE$ 
940  TRAP  950= OPEN  tt2.S.8,FILE$=O3T0  968 
950  ?  "CCLEARj-LKLLJ-Disk  Error  -  ";PEEI=;< 
195  ::■  =  CLOSE  #2  =  ?  =  ?  "Press   1  RETURN  I "  =  GET 
#l,H  =  GOTu  470 

960  FCR  1=0  TO  LINES  =  PRINT  #2;DISK$C  I:t35 
+L  I  *35+LN':;  I  > ;  =  f€XT  I  =  iHJSE  #2  =  TRlAP  8  =  GO 
TO  470 

970  IF  H-=w>ASC(  "Q" )  THEH  1830 
^j  ?  "CCLEASliiaJITh  rt-e  you  sere?  CY/H 
)"; 

990  GET  *LA 

1S00  IF  ft=ASC("H">  i3R  A=ASC<"n")  OR  A=27 
T^€N  470 

1018  IF  A=ASC("Y")  OR  H=ASC("y")  THEN  GR 
APHICS  0  =  EhC 
1828  SITO  990 


1030   IF  A=ASCC"N")  im\  aJRR=CLJRR+19=IF 

CURRXIHES  1\&{  CURR=0 

1040   IF  A=ASC("N")  T^e^  380 

1050  IF  H<;>ASCC"G">  THEN  478 

1060  ?  "-CCLEARjGo  to  whick  line?  ";=GOSU 

B  12^=  IF  N<0  OR  N;>m:^  T^£N  1960 

1070  CURR=H=GOTO  388 

1080  m\    i  Print  directory  I 

1090  ?  "iCLEAR}"= POSIT ION  5.6=?  "DIRECTO 

R'i'"=P0:5ITI0N  20.- 8  =  ?  " 

II 

1100  SETCOLOR  0.  IKT(16-;{tRND(8>>.10 

1110  TRAP  1120  =  OFEN  #2.6..0/'D  =  3fi.*"=GOTO 

1130 

1128  ?  "Can't  f^ad  directory" = GOTO  1168 

1138  TRAP   116e=INF'UT  #2;TErP* 

1148  ?  "-[TAB}     ";TE|-F$=IF  PEEK(84»15  TH 

EN  POSITION  8.1=?  "{DEL  LINE>" = POSITION 

2. 15  =  FOR  W=l  TO  18e  =  h£VT  \>\ 

1150  GOTO  1138 

1160  ?  =?   =?  "Press   IRETUI^tll   to  contirKje 
II 

1170  CLOSE  #2= GET  #1. A = RETURN 
1188  FCIKE  752.0  =  ?  "       ";=I^PUT  TEMP$  =  P01': 
E  752.1  =  IF  TE^F■$=""  THEN  TEHF-$="   " 
1198  RETURN 
1208  F£M  GET  h  MJUBER 
1210  TB-F$="0"=FOR  1=1  TO  4 
1228  ?  "IttliLEFTJ"; 

1230  GET  #1.A  =  ?  "  CLEFTV;  =  IF  A=27  Tt€N 
POF"    =GOTD  470 

1248  IF  H=126  AND  1)1  THEN  ?  CHR*<A>;=TE 
rp$<l-l>="   "  =  1=1-1=  GOTO  1228 
1250  IF  A=155  TI€N  POP  =G0TO  1288 
12S0  IF  A<48  OR  A>57  OR  >4  THEN  1228 
1270  TErt=$(I>CH?$(A)=?  CHR$(A>;=NEXT  I 
1280  N=0  =  P=1=FOR  I=LEN<TE[f>$^  TO  1  STEP 
-1  =  N=N+<  ASC<  lBPt<  I .  I )  >-48  W = P=P*10 = NEK 
T  I 

1290  ?  'RETURN 

1380  ?  "{CLEAR}START  OUER:   iVe  aou  SLa-e? 
<Y/N>";=G£T  #1,A 

1310  IF  A=27  OR  A=ASC<"N")  OR  A=ASC("n") 
T«N  470 

1320  IF  A^ASCC "Y" )  OR  fr=ASC( "y" )  TFEN  RU 
N 

1330  GOTO  1380 
1340  REM  GET  FILE  NAME 
1350  TEriP*="  "=F0R  1=1  TO  12 
1360  FOR  1=1  TO  12 
1370  ?  "_aEFT>";=POKE  782.64 
1380  IF  PEEK<764)=255  TI€N  SETCOLOR  0.IH 
T(  1 6*RH0<  0 ) ).  10+2*INT<  3*R^Ct<  0 )  >  =  GOTO  138 
0 

1390  GET  *1.A^?  "  CLEFT)"; = IF  A=155  TVEN 
POP   =G0TO  1430 


1460  IF  A=126  AND  I>1  THEN  TEriP$<  I-l)=" 
"'M-1^?  CHR*<A);^GOTO  1378 
1410  IF  <A<48  OR  (A>57  AhC  A<65)  OR  A>90 
)  AND  A<>46  T^£N  1378 
1420  TEI1P$(I)=CHR$(A)  =  ?  CHR$(A);  =NEXT  I^ 
1=1-1 

1430  POKE  764.255 
1440  RETURN 

1450  REM  OTHER  COMMANDS 
1460  REM  ADD  YOUR  COTtWCfS  HERE 
1470  ?  "{CLEAR>ILier.9tK     ISIearch     IN  lex 
t  Search" 

1480  ?  "Ana  other  key—Othier  coftwiands" 
1490  ?  "Which?"; 

1500  P=PEEKC 702): POKE  782. 64^  GET  ttLA  =  PO 
KE  782.  P 

1510  IF  A-OASCC'L")  THEN  1540 
1520  ■?  "CCLEAR}Lersth  of  Fne=   MlHES+l 
i"  lires." 

1530  ?  ■■?  "Press  IRETURNI"  =iET  ttl.A^GOTO 
470 
1548  IF  AOASCC'S")  THEN  1778 


1550 


CCLEAR>i  SEARCH  1=   Enter  character 


s  to  search  for=" 

1560  GOSUB  1180=  IF  TErP$="  "  ThEN  470 

1578  Kri'*=TEMP$:^K=0 

15S0  KL=LE^KKEYI; 

1590  ?  "<CLE(«}By  ICIharacter  or  ILline? 

";=GET  #LA:IF  A=27  Tf£N  478 

1600  TYPE=-1 

1610  IF  A=ASCC"C">  OR  A=ASC("c">  T^£N  TV 

PE=1 

1620  IF  A=ASC("L")  OR  A=ASC("1")  im\  TY 

PE=0 

1630  IF  TYPE=-1  TJCN  1598 

1640  ?  "{CLEAR} Search ins..." 

1650  FOR  I=NX  TO  LINES 

1660  TErP$=DISK$(  1135+1 .  I*35+LN(  I  > ) = TEM^ 

$<LEN<  TEMPI  HI  )=" 

"^REM  35  SPACES 
1670  IF  TYPE  T'rEN  1780 
1680  IF  TEMP$(LKL>=KFy*  TtEN  1758 
1690  GOTO  1738 
1780  FOR  J=l  TO  35-KL 
1710  IF  TEt1P$(J,J+KL-l>=KEY*  THEN  1758 
1728  f€KT  J 
1738  YB<1  I 

1748  ?  "{CLEAR^Not  found.":?  " aXil'IN}Pt-es 
5  IRETURNI":CET  iLA  =  GOTO  478 
1750  CURR=M=LI1€S+1:NEXT  I 
1760  GOTO  388 

1770  IF  AOAStCH")  im\  478 
1780  IF  LEN(KP,'$K1  Th£N  478 
1798  NX=CURR+<aJRR<LINES> 
1880  ?  "-CCLEARJISEARCHI  for:    ■■ 

1810  ?  key$:i:bto  1580  e 


NOW  AVAILABLE  FOR  THE  APPLE  II 

All  B^ba. 

^nb  the  fortvj  thieves 

By  Stuart  Smith 


A  fantasy  role-playing  adventure  for 
Apple  11  and  Atari  Personal  Computers. 

Encounter  sultans,  thieves,  fierce  and  friendly 
creatures  as  you  guide  your  alter  ego,  Ali  Baba, 
through  the  thieves  mountain  den  in  an 
attempt  to  rescue  the  beautifiji  princess. 
Treasure,  magic,  and  great  danger  await  you! 
One  or  more  human  players  can  guide  up  to 
seventeen  friendly  characters  through  the 
many  rooms,  halls,  and  caves.  Some  characters 
wander  around  randomly,  making  each 
adventure  a  little  different. 

ALI  BABA  AriD  THE  FORTY  THIEVES  is  written  in 
high  resolution  color  graphics  and  includes 
music  and  sound  effects.  Adventures  can  be 
saved  to  disk  and  resumed  at  a  later  time. 

Auailable  for  Apple  II  and  Apple  II  Plus  48K  or 
Atari  800  32li. 

On  diskette  only  —  $32.95 

FOR  OUR  COMPLETE  LINE  OF  APPLE  AND  ATARI  SOFTWARE 
PLEASE  WRITE  FOR  OUR  CATALOG 

ASK  FOR  QUALIiy  SOFTWARE  products  at  your  favorite  computef  stoie  It  neces- 
sary you  may  order  directly  from  us.  MasterCard  and  Visa  cardholriers  may  place 
orders  by  calling  us  at  (2I3|  341-6599-  Or  mail  your  ctieck  or  bankcard  number  to 
the  address  atMve,  California  residentsadd6-i  sales  tax. S/iippin^Ctefies.  Within 
North  America  orders  must  inclurie$l-50  for  shipping  and  handling.  Outside  North 
America  tfie  charge  for  airmail  shipping  and  handling  is  $5.00  Pay  in  US.  currency. 

fSn  QUTiLny 

k£^  SOFTWTlRe 

6660  Reseda  Blvd.,  Suite  105,  f^eseda.  CA  91335    (213)  344-45W 


106 


COMPUTEJ 


July.  1982.  Issue  26 


This  extraordinarily  useful  Atari  Disk  technique  lets  you 
elivnnate  DUP.SYS  and  MEM. SAV  from  7nost  of  your 
disks  and  to  call  a  function  menu  directly  from  BASIC. 


il# 


Dennis  Keathiey 
Webster,  JX 


It's  late  at  night  and  you've  been  working  on  major 
revisions  to  a  huge  BASIC  program  for  Four  hours. 
You  finally  finish  and  want  to  save  it  back  on  disk 
as  ULTIMATE.003  (versions  001  and  002  are 
already  on  the  disk).  Upon  SAVEing  it,  you  get 
ERROR  162  {disk  full).  You  think  to  yourself,  "I'll 
save  it  as  version  001  since  that  version  is  out  of 
date  anyway."  You  get  another  error,  ERROR  167 
(file  locked).  "Well  I'll  just  type  DOS  and  unlock 
the  file.  After  all,  MEM. SAV  ^vill  preserve  my 
program."  So  you  type  "DOS"  and  sit  back  to 
twiddle  your  thumbs  for  a  minute  or  so.  Wait! 
There's  something  wrong.  There  was  no  MEM. SAV 
file  on  the  disk.  You  deleted  it  because  you  needed 
more  free  sectors.  Four  hours  of  work  are  lost 
forever. 

Save  Yourself  88  Sectors  And  75  Seconds 

Would  you  like  to  eliminate  the  need  for  DUP.SYS 
and  MEM. SAV  on  most  of  your  disks? 

The  Disk  Operating  System,  version  2.0,  is  a 
powerful  and  well-designed  piece  of  software.  It 
also  allows  you  more  free  RAM  for  programming 
use  than  DOS  1  by  moving  many  of  the  utility 
functions  into  a  separate  file  called  DUP.S\'S.  The 
Disk  Utilitv  Programs  are  loaded  into  memory  only 
when  requested  by  typing  DOS.  The  trade-off  is 
that  the  file  DUP.SYS  (42  sectors)  must  be  on  your 
disk  in  drive  #1,  and  it  requires  15  to  20  seconds  to 
load  into  RAM. 

Another  trade-off  is  that  the  BASIC  program 
in  RAM  will  be  lost  unless  you  have  a  MEM. SAV 
file  (45  sectors)  on  your  disk  inclrive  #  1 ,  and  using 
MEM.SAV  requires  almost  a  minute  longer.  Elimi- 
nadng  the  need  for  DUP.SYS  and  MEM.SAV  saves 
you  88  sectors  and  75  seconds. 

When  DOS  is  booted  into  RAM  at  power-on, 
the  portion  that  remains  memory-resident  at  all 
times  is  called  the  File  Management  System.  The 
FMS  allows  you  to  perform  some  file  manipulation 
and  directory  modifications.  The  most  common 
way  to  do  this  is  to  type  DOS  which  gives  you  the 
DOS  2.0  Menu  contained  in  DUP.SYS.  Some 
schemes  have  been  developed  to  access  the  RMS 
functions  froin  BASIC,  but  they  require  you  to 
either  remember  the  exact  XIO  command  or  to 


have  numerous  short  programs  on  yoiu'  disk  that 
remember  them  for  you  (more  time  and  sectors- 
wasted). 

Wouldn't  it  be  nice  to  be  able  to  call  a  function 
menu  from  BASIC  without  using  additional  mem- 
ory, losing  your  BASIC  program,  or  performing 
disk  I/O? 

MicroDOS  is  a  machine  language  program 
that  is  loaded  into  page  six  of  RAM  (Decimal  1536 
to  1791),  an  area  conveniently  left  to  the  user  by 
the  wizards  that  designed  the  Atari  Operating 
System.  When  executed,  MicroDOS  gives  you  a 
menu  of  FMS  functions,  which  allows  you  to  select 
the  function  and  desired  filename.  You  may  per- 
form as  many  fimctions  as  you  wish,  and  then 
return  to  BASIC.  And  your  BASIC  program  is  still 
there,  intact. 

Program  I  is  the  assembly  listing.  For  those  of 
you  who  do  not  have  an  assembler.  Program  2 
provides  a  BASIC  program  to  accomplisii  the  same 
result.  If  using  an  assembler,  you  may  designate 
"D:AUTORUN.SYS"  as  the  binary  output  file. 
This  will  perform  automatic  loading  of  MicroDOS 
when  DOS  is  booted  into  RAM.  If  you  are  presently 
using  an  AUTORUN.SYS  file,  you  may  append  it 
onto  this  one  using  the  /A  (append)  feature  of  the 
copy  (C)  option  of  the  DOS  2.0  menu.  The  com- 
ments in  the  listings  make  them  self-explanatory. 

For  ease  of  use,  we  "steal"  the  DOS  jump 
vector,  DOSVEC  ($()A  or  decimal  10)  and  point  it 
to  MicroDOS.  Perform  POKE  10,0  and  POKE 
11. 6.  When  vou  tvpe  "DOS",  BASIC  jumps  to  the 
address  specified'in  DOSVEC  and  DOSVEC  4- 1 
(low  byte,  high  byte).  Now  it  will  jump  to  MicroDOS 
instead.  One  more  detail:  when  SYSITM  RESET 
is  pressed,  DOS  restores  DOSVEC  to  the  original 
value.  To  prevent  this,  POKE  5446,0  and  POKE 
5450,6.  DOS  will  now  reload  DOSVEC  with  $0600 
(the  start  of  Micr<jDOS)  when  SYSTEM  RESET  is 
pressed. 

Note  that  the  last  six  lines  of  the  assembler 
listing  before  the  .END  .statement  will  cau.se  this  to 
be  done  automatically  when  the  file  is  loaded.  In 
the  BASIC  listing,  the  last  16  numbers  perform 
this.  Omit  them  if  you  desire  and  subtract  16  from 
the  342  in  line  two.  If  vou  should  desire  to  reset 
DOSVEC  so  that  DUP.SYS  may  be  loaded,  POKE 
10.159  and  POKE  1 1,23.  Now,  typing  "DOS"  will 
load  DUP.SYS,  but  SYSTEM  RESET  will  cause 
DOSVEC  to  point  to  MicroDOS. 

Upon  typing  "DOS",  MicroDOS  will  display 
the  menu: 

LOCK 
UNLOCK 
DELETE 
RENAME 


frraRI  CX>MPJTERS 


FLIP'N'FILe 


FLIP'N'FtLf  h  A  nuu  -t'low+iomjl  4>ti 
a^f'i.ciwi  Stjnu>?  Alston  -Tw  4T4RI HOO/SOO 
C:nii(i.tfi'r  C^iHriJij^iS.  £4i:iv  tiCihtiTp  unit 

Cat  Nc,  37g£>  iZe.95_ 

ttic  J11  wmu-  AfcU-i  CiJV«piti-^  (or  Aiv^ 
3  '-( "  .W't  <^ti>r  C£Wf\'tdT ).  A«4  -Wit k, 
4IW5  Icto,  iJi*)  pn'u.-,  if 's -fim^ -tc 

C4t  NoJgg^-  &o»  ^io  f  39.95 
SVNCRO 

WOKDMANIA 

you.  -tike  -tM  (OTii) . . .  kf^eooNl '.  liu)  Jiin  si- 
Uctiim  -(nnti  owv  ISW  uiwds  iiHii  owit'-ilii.- 
jjiStni^it  c>*^iin+iatl<-y  Uurls-nriitewoW- 
Cat  No.  5907  c-^sscitc'        $  yf.es 
Ui^k  \feriian(3508)  available 

SVNCftO 

^LieW  H£LL 

LiCk,L^V^t...  V^LV'J  ..'.liUuii   ta3  Alibis  t* 

ujaA  ..I  ■T<vu-  cru^t-n.  <Hirt:i.  icMifiz  1^  y»ni" 
jwi%  iwpf.  Vjii.  jiu.it  i,:arcU. -Hti  ^lait  titukr- 
jrminJ.  icrnAjyr^i  itt  irrd^f  -to  tiivi  +<v  Miljic 
t.Vi_)5t.U>5  •i^J  .^KUpt'.  Bi.'ajJj'*!  Str4ji^e  fr<si- 
tia-i.'5  (i«d  dmJIy  -*7/Btg(ls  iTjuU  K' JrjiW-tif 

DrSk  Vt'rsiwi^37S  f^aiai(4frle- 


CANWN  CLlMFeR 

Vtiu.  must  f^c.:  -tlirif  4iTiii(+  dulfcii^J 
5twJ  m  \jsw  unv.  . 

C<vt  N<j.3g53 afetgrit:,  )y»tK,  29.95 

OrtTASopr 

5H0DnN6  mu£Ky 

So'V  ■Mr  tlw  HV>t  jufvrb  ^fjpUu:j  Cti^r 
.r^i^i  jn  H,,:  Atui  umtfuitar.  UliHij.  luUitiJ. 

f  ht  t'litli  li-tWl,  J  .vi-pniiT  a^iAjti  y«t. 

Cat  i\)o.M£>t--'  diihi:ti£,  jvitk.   :9.95 

mciFic  cmsr  m/v 

Pt?H  is  a  fust  adion  ivimc  m  uihudi 
yp«  m«st  .54/r/i/  c/i»M.  Pt;^  imf^uiut  i^ff - 
t:4M^  j.;iM>A(?J  fey  Oiir  rttFd  iunir  teiffii . 
Once  mnL  ^iir\it\ie  Hv  ^jJuiUij .  t(«i.  i««* 
i&lp  t(l'(m  bmt  til  rjfi  in  jnir  io  ivi>sa  Ui^r 

Cat  Nc.  ^t  cofffitcAyitk.   ^  2^.95 
Ott  Ho.  se^Z  diKketi.,  -ivrtW.      29.95 

^STKOVUAKKIOKS 

A-fit>t  4.:iinv  pLu|ir  v *.  pUij^r  .^uxif  oi^ 

■b^uk.  w\.iS\  your  rii£>ii^  1Hi^^^£c'i,  Piijitti  v.-wi-- 

Aiitra.iti>M. .  lie  t?  +ino-  pUtKiis  MJf)  KtKU 
in  CTW  i>r  t>iu'  iWiii.  Ui>M^  JmI  bjMU  (KcirS. 

C*t  <Mo,  ^SSfc-  w*tftt<;,  iyjtk.    fZ3.9S 


^A^^MA  5£>fTWARe: 

fJS5^.  Am  oJiuMJii  -fiitioJ  t'f  HiXKf:'  fi-tfc; 

Cit  No.35gS  «*:»/tU,  jy/tk.   *  2-3.55 


ELECn^NICS 

WH€N  If/SOUWeRN  CALIfOmiA,  VtStT  OUH  KEWJL  STOHBS 


19SU0n$ijness  Center  Dr. 
nORttmidQe,  Ca .  9/32H 


£50)  A«Xes\a  Blvd. 


OfFec  ocpircs  Duii^  51, 1982 


SV(VAP5£ 

CHlCKeM 

«ii  4-  pesky  ^U  tV»-  bitt(c  It  jw-t,  jj  j/i™- 
■tni  ts  j-Aue  -ttii^  Lftiii.  ikiJtfn  pfniUtijn. 

A2J)*15  -dvit  -rtic  -Tfli,  hAS  -fowiii.  Mi  lkV'5 

aA35,  anJ  ilu"  13  -tRyCMd  -to  iAvo-  -ilv'm  -fi-jiti 

hi,  J<ilJlM  Cil(.-tdiC6.  The  .XiiiM  3t-t5-fj5t- 

fea-flAL-rj;  -PUl.  L;liKkJns  SHiutvk, iinX  ^IL 
\>eA.Li.m,  hri^ki  U»i^.'  a  .  »  >. 

Cdt  NO. 3eoe  caheiLc,  yitk.    $  2$.$5 
CAtUo.?3^SdbtM!iii:,yv^tK.      2^.95 

KACe  IN  SPACe 

t)<m.  »tuiid  -Hat  inUij  Ji/cxii  -i<u:  fHyriii  of 

Catr4o.3g35A»kdk,V«»tk^)    ZH35 

cmarra?  co«e  50Frw«£ 

yAHTMAN 

popuCr  -fVr  ^taws,  Otw-fcj-ftntr  pUJi^^s, 

ft;k»t  4^  ojLi  -"p,  wtJij  cjwpirti'  -fxn-  -Ou 

HOW  TO  OKPeK 

Wsa,  OR  C.O.D.  t*ia  -^150  f<frCO0.) 

SENP  OROeRS  TO: 

HW  ELECTRONICS,  INC 
nSV  6U5/NE5S  CT«.  DR. 
Dept  £^=?- 

NOftTHRIDi^e,  CA.  9152-4 
rOiJiFR£E  U5A  (800)^25-53S7 
WSIDE  CALIF  (115)830-9200 

Mention  -Hiis  ad  and  \^ie  pay  shipping  CuRS  grovrid  cmUj) 


108 


COMPUTE! 


July,  1982.  Issue  26 


FORMAT 

MENU 

ADOS 

BASIC 

Note:  Underlined  letters  are  inverse  video. 

Enter  the  command  vou  desire  (only  the  first 
letter  is  necessary).  You  will  then  see: 

FN? 

Enter  your  filename  and  press  RETURN.  You 
must  enter  the  "D;"  or  "D2:"  at  the  beginning  of 
yoin-  filename  so  that  FMS  will  know  whicli  drive  to 
access  {do  no(  use  t]uotes,  as  in  BASIC).  The  func- 
tion will  be  peiformed  and  the  menu  will  reappear. 
Note:  if  you  selected  REX.-VME,  the  correct 
filename  input  is  "Dl:fiil,fn2".  Only  one  "Dn:"  is 
needed  and  the  comma  is  required. 

It  you  selected  FORM  AT.  instead  of  FN?  you 
will  see: 

FD# 

to  warn  yoti  that  the  information  on  the  disk  will 
be  destroyed.  Type  "D  T'.RETURN  (or  D2.D3, 
etc.)  to  formal,  or  anything  eKsc  lo  abort  iormalting. 
If  you  selected  MENU,  you  will  see: 

D#? 

as  a  prompt.  Enter  the  drive  number  (single  digit) 
from  which  you  wish  lo  see  a  disk  director)-,  and  it 
will  scroll  across  the  screen.  Use  CTRL  1  to 
momentarily  halt  the  scrolling,  and  C  FRL  I  to 
resume.  The  directory  will  sta\'  on  the  screen  until 
you  press  RETURN  once  more. 

Making  Use  Of  The  6502  Stack 

Selecting  ADOS  will  allow  you  to  load  DUP.SYS  in 
the  normal  way  if  you  have  a  need  to  do  that  (and 
you  shouldn't  often!).  As  a  .safety  feature,  to  select 
this  fiuiction  you  must  type  the  first  two  letters.  If 
you  enter  an  invalid  filename  or  if  FMS  is  unable 
to  perform  the  function,  MicroDOS  will  Just  return 
to  the  ">"  prompt.  To  return  to  BASIC,  type  "B" 
(or  anv  other  letter  that  is  not  a  selecticm  letter). 

The  most  diflicult  part  about  writing  Micro- 
DOS  was  fitting  it  inU)  just  one  page  (256  bytes)  ol 
RAM.  Due  to  this  constraint,  a  Disk  Directory 
option  could  not  be  included  in  page  six.  In  order 
to  add  this  feature,  the  MicroDOS  selection  menu 
and  input  buffer  had  to  be  moved  to  the  beginning 
of  page  one.  What?  You  thought  page  one  of  RAM 
was  used  by  the  6502  microprocessor  as  a  stack 
area?  Well,  it  is,  but  the  6502  will  never  need  more 
than  the  top  one-third.  So  we  will  use  the  bottom 
one-third. 

If  you  sj>end  a  portion  of  vour  time  |)rogram- 
niing  in  BASIC,  you  will  probably  find  MicroDOS 
well  worth  the  dme  spent  typing  it  in.  It  has  saved 
me  much  time  and  frustration. 


Program  1.  Source  Listing 


0160 
0110 
0120 
0130 
0140 
0150 
0160 
0170 
01&'0 

0190 

0200 
0210 

0220 
0230 
0240 
0250 
0'2'b0 
0270 
0280 
0290 

0300 

0310 

0320 
0338 
0348 
0350 


0370 
0380 
0390 
8408 

0410 

0420 

UtU 

0430 

S440 

6450 

0460 

0470 

0480 


.TITLE  "niCRu-DOS" 
REM  COPVRIGHT  1982 
REM  ALL  COririERCIAL  RIGHTS 
REM  RESERivED  BY  DBHIS  ^:EATHLEY     . 

.OFT  MJE-JECT 

DEFIl-lE  EQUATES 

*=$0342 
ICCMD  ^=*+2 

iccMDi=ii:;criD+ib 

ICEAL  *=:^c+l 

ICBhL1=IC:BAL+16 

ICBhH  :^;=:¥:+3 

IC.BhH1=ICBAH+16 

I  CELL  ;^=:^:+l 

Il:BLL1=ICBLL+16 

ICBLH  :*=*+! 

ICBLH1=ICBLH+16 

ICAXl  t^^-+\ 

ICAX11=IChK1+16 

ICAX2  :^=:¥:+l 

r:I0l..i=$E456 

0PEH=3 

CL0SE=12 

l£TC=7 

PUTC=11 

bETK=5 

PUTR=9 

E0L=155 

CLR=125 

Tf«=127 

;     *:^*:i;:S^;^it;  MICRODOS  SOURCE  CODE  tt 


^=$0600 


DISPLAY  MEW  m   SCREEH 


0508 
6510 
0528 
8530 
0540 
0550 
0560 
^.70 
£680 
^98 
6680 
8610 
K28 


INIT 

LDY  #rEUF&255 

ld:>'.  #Euri-MBUF 

LDA  iPUTC 

JSR;  Ii:iE2 


«CEPT  CCiMIAHD 


GRAB 
.ISR:  INKJT 


;  EXECmE  COM-IAND 

JS.R  lOP 

BFl  INIT 

EtII  GRAB  If  CIOU  error.   Y>i: 


July,  1982,  Issue  26                                                                                                    tX 

>MP«TH 

109 

0630   ; 

1180 

JSR 

I0E2 

0640  ;                 nPUT  CCtrrROL  ROUTI^t 

1198 

RTS 

0650  ; 

1200 

/ 

0660  IHPUT 

1210 

J 

EXIT  AND  I/O  ROUTINES 

0670  ;               aiT  F-FOIPT  m  SCREEN 

122-0 

f 

06£«     LDY  #r^JF&255 

1230 

EXIT 

0690    ld:>=:  #2 

1240 

LDA 

KBLF 

0780     JSR:  Q 

1250 

crp 

#77  Directory  Re=iuest? 

0710  ;              GET  COrtlAHD  CHOICE 

1260 

Bt£ 

DOS  N.3.   90  to  DOS 

0720     .m.  IH 

1270 

Uf{ 

#QBUF+5&255 

0730     Lffr  #6 

1280 

[Si< 

#3 

0740     STY   ICK>ni  To  "open  directory"  lit 

1290 

JSF: 

Q  FXit  D#?  proftiF-t  on  screen 

er- 

1300 

LD-.^ 

#SEUF+U<255 

0r'b0  LOOP 

1310 

LDX. 

#1 

0760     CCy' 

1320 

LDA 

#GETR 

0770     EEQ  EXIT 

133fi 

JSR 

l!DE2  Get  dri>.^  # 

07&3     LDh  fHSCII-hV 

1340 

LD-y 

#58 

0790     GV  KBLF 

1350 

S?!* 

3BLF+2  Restore  colon 

^00     &E  LKP 

1360 

m' 

#SBUFa-255 

0810     IDA  CMD-l.Y 

1370 

LDA 

ttOFtH 

0820     F-Hh            Saue  coiMiard  # 

1380 

JSR 

l(P2  Open  directcs'-y 

0830     OP  #$FE 

1390 

AGAIN 

©40   E^€  cm 

1400 

LDA 

#19 

0850   j              lERIFY  FORmT  COtiriAND 

1418 

STA 

ICBLLl 

0360     LDY  #QBUF+5i:255 

1420 

LDA 

#bLlR 

K70     LDK  #3 

1430 

JSR 

l&'  Get  direiitora  entry 

©80     JSR  Q 

1440 

BUI 

THFU  Last  entra?  Go  to  lW\i 

8890     J5R   IN 

1450 

LD--,' 

#t=HJF-lg<255  Tab  is  first  chara 

0500     LDh  KBUF 

d&r- 

0510     Crp  #68     Is  first  letter  a  "0"? 

1460 

LCK 

#20 

0920     &E  EXIT  \\o>   ther,  lei'.'e  fllCRO-DOS 

1470 

LDA 

SFUTR 

0930     EEQ  RT 

1488 

JSR: 

IuE2  Put  directory  entry  on  sc 

0940  COt-IT 

r-een 

0358   }              PUT  PROnPT  ON  SCREEN 

1498 

BFl 

AGAIN  Go  set  another  et'itry 

&?£B     LDY  #i!BUF+2&255 

1500 

T}*'U 

0970     LD>=;  #3 

1510 

LDA 

#CLOSE 

89S!0     JSR  Q 

1520 

JSR 

I  OF"  Close  directory 

0990  J               GET  FILENAME 

1S30 

JSR 

IN    L'hit  for  RETURN  pressed 

1000     J3R  IN 

1540 

JTIF 

I  HIT  \jj  to  selection  mnu 

1010  RT 

1550 

J 

1020     FIR      Retrieve  FMS  coiviiiiand 

1560 

DOS 

1830     RTS 

1570 

crp- 

#65  Is  DOS  desired? 

1040  ; 

I5ei0 

&£ 

BASIC  No.,   exit  tllCRODOS 

1050   ;              PROMPT  m  SCREEN  ROUTINE 

1598 

LDA 

#68 

1060  ; 

1600 

CtF- 

KBUF+1  A.dditional   check  for  sa 

1070  Q 

fety 

1080     LDA  #PIJTC 

1610 

B^E 

BASIC 

1690     JSR   IDE 

1620 

Jff- 

6&47  Load  DUF'.SYS 

1100     RTS 

1630 

> 

1110  ; 

1648 

BASIC 

1120  ;              EDITOR  LIf-€  IN  ROUTIfC 

1650 

JTP 

*A04D  to-Ill  start  entry 

1130  i 

1660 

f 

1140  IH 

1670 

lOE 

1150     LDY  #KBUF£.255 

1680 

PHA 

1160     LD:-^  #40 

1690 

LDA 

#QBUF/256 

1170     LDA  #L.L1R 

1700 

STA 

las^H 

110 


COMPUTfl 


July,  1982.  Jssue  26 


1710 
1720 
1730 
1740 
1750 
1760 
1770 
1788 
1750 

1800 

1810 
1*520 
1330 
1540 
1358 
1860 
1870 
18£0 
1830 

1900 

1910 
1920 
1930 
1940 
1950 
I960 
1970 
1980 
1998 

2000 
2010 

2820 
2030 
2840 
2850 
2060 
2070 


2098 


2110 
2120 
2130 
2140 
2150 
2160 
2170 
2188 
2190 
2200 
2210 
2220 
2230 
2240 
2250 
2260 


Etrr 

Sr-i'  ICBAL 

STX  ICBLL 

LDX  #0 

SIX  ICBLH 

STX  ICBLHl 

EEQ  10 
IUE2 

f-hr 

LW  #KeUF/256 

STA  ICBhH 

STft  ICBhHI 

BE  £m 

ioF 

LDY  #KBIJF&255 
lLf2 

STY  ICBhLI 

LDX  #110 
10 

STA  ICCtCX 

XF:  CIOU 


;  DEFIf€  MEHU  HUD  BUFFERS 

ASCII 
.B'y'TE  76.85.68.82.70 

cm 

.  E'-iTE  *23 .  124 ..  *2 1 .  t20 .  IFE 
GeUF 

.BYTE  29.  ">FN?M98.  "[*■"■" 
;  PUT  1\£  REST  IN  PAGE  1 

:^;==$100 
SBUF 

.BYTE  "Dl-:i-.t".EuL.TAB 
KBUF 

t=*+29 
flBUF 
.BYTE  CtR.204."OCK".EOL 
B^.'TE  213."HLGCK".El!L 
.BYTE  196."ELETE".EnL 
BYTE  210."ENhME".EliL 
BYTE  l98."CiRt1rtT"..E0L 
B'Y'TE  2'05."BIIJ".EUL 
B'y'TE  193.1%."0S'V.EuL 
.BfTE  194/'rtSIC"..EuL 
EOt'l 
;«:=10 

B^/TE  0.6 
i'=5446 
.PfTE  0 
^.=5450 
.E^'TE  6 


2270       BCl 


Program  2.  BASIC  Loader 

1  OPEH  #1.8.0; "D  =  mCFlO0S. OBJ" 

2  FOR  1=1  TO  342 

3  READ  A 

4  F-UT  #1,H 

5  t€XT  I 

6  EHD 

10  DATA  255.255.8.6.253.6.168.37.162.59. 

169. 1 1 . 32. 209. 6. 32. 19. 6. 32. 221 .6.16. 239. 

48. 246. 160. 245. 162. 2. 32. 84. 6. 32. 98 

20  DATA  6.160.6.140.90.3.136.240.63.185. 

234. 6. 205. 8. 1  .-288. 245. 135. 239. 6. 72,2'01 . 2 

54. 208. 19. 160. 258. 162. 3. 32. 84. 6. 32 

30  DATA  90.6.173.8.1.201.68.208.30.240.1 

0. 160. 247. 162. 3. 32. 84. 6. 3'2. 90. 6. 184. 96. 1 

69. 1 1 .  32. 186. 6.  %.  168. 8. 162. 40 

40  DATA  169.5.32.20"5.6.96. 173.8. 1.201.77 

.208. 62. 168.251. 162.3.32.84.6. 168. 1. 162. 

1 .  169. 5.32. 209. 6. 168. 58. 148. 2 

50  CW^TA  1 . 160. 0. 169. 3. 32. 223. 6. 169. 19. 14 

1 .88. 3. 169. 5.32. 221 .6. 48. 1 1 . 160. ?. 162. 26 

. 169.9,32.209.6. 16.233. 169. 12 

66  DATA  32.221.6.32.90.6.76.0.6.201.65.2 

08. 18. 169. 68.205. 9. 1 .  2^..  3. 76. 159.23. 76. 

77. 160. 72. 169. 6. 141 .  69. 3. 184 

78  DATA  140. 68. 3. 142. 72.3. 162. 0. 142. 73.3 

.  142. 89. 3. 240. 19. 72. 169. 1 .  141 .  69.3. 141 .8 

5.3. 104. 208. 22o.  168. 3. 140. 84. 3 

88  DATA  162.16.157.66.3.32.86.228.96.  f'6. 

85. 68. 82.70. 35. 36. 33. 32. 2-54. 29. 62. 70.78. 

63. 198. 68.35 .63. 8. 1.7.1. 6.8 

90  DATA  49.58.42.46.42.155.127.37.1.86.1 


.  125.2'94.79.67.75. 155.213.78.76.79.67.75 
.  155. 1%.  69.76. 69. 34.69. 155. 218. 69 
\m  DATA  78. 65. 77.69. 155. 198. 79.  S2.77. 65 
.84. 155. 205. 69. 78. 8j. 155. 193. 196. 79.83. 1 
55. 1'94. 65.33.73. 67. 155. 18.0. 11.0.0 
110  DATA  6.70.21.70.21.8.74.21. M.2i. 6 


,^,   ALL  ATARI  ■ 


HARDWARE  1S%-25% 
OFF  LIST  PRICE 

Atari  800  16K ''40.00 

Atari  400  16K 359  00 

Atari  410  Cassetle 80.00 

Atari  810  Disk 480.00 

ATARI®    ACCESSORIES  10%-20%  OFF  LIST  PRICE 

8K  Memory  Board -lO  00 

16K  Memory  Board 8.0  00 

Joysticks  (pair) 1 9  00 

Paddles(pair) 1900 


A 


To  offler   Call  61?  9%A  30SO 
A5k  for  mail  oidet   ai  wnie 

BBI  Mail  Order 

CO   Boi  365 

Newlon  Highlanils.  MA  Q?161 

(617(96J3080  


PLUS  10°/o207o  OFF 
ALL  ATARI-    SOFTWARE 
ALSO  3h[i  party  HARDWARE 
AND  SOFTWARE  AT 
COMPARABLE  SAVINGS 


tele-       .    ^. 
communications 

for  the  Atari  400/800 

Send  E-mail,  download  programs  and  files,  chat,  buy 
merchandise,  access  the  Source*  and  other  exciting 
data  bases  with  the  MICROCONNECTION.  a  quality 
direct  connect  modem  for  your  Atari  400/800  The 
Autodial/Autoanswer  MICROCONNECTION  auto- 
matically dials  other  computers  and  answers  tool 
The  bussdecoding  MICROCONNECTION  eliminates 
the  need  for  the  850  Expansion  Interface*  and  the 
"obsolete"  acoustic  coupler  Terminal  software 
included 

Bussdecoding  MICROCONNECTION  Aran  400/800  S249  00 

with  Auiodial/Autoanswer  S279  00 

RS-2  3  Z  MICSOCONNECTION  for  Atari  400/800  S 1 99 .00 

wii  h  Autoddil/Auioanswer  S  239  OO 

TSMART  (Smart  terminal  programl  S  79  95 

TYPER-A  (Users  MICROCONNECTION  to  drive  serial  S  19  95 
printers  to  provide  printed  output  and  listings  | 

the  micropenpheral  corporation 

2643  I5lsr  PI  N  E„  Redmond,  WA  98052 
(206)881-7544 


"ATARI  HAS  THE  CAPABILITY- 
ACE  GIVES  YOU  THE  KEY" 
RIGHT  IN  YOUR  POCKET!! 

.Mi££-^'i|16  comprehensive  pages 

•  error  codes 

•  basic  commands  with 
abbreviations 

•  peek  and  poke  locations 

•  internal  codes 

•  mactiine  language  aides 

•  mucti,  mucti  morel!  . 

Get  Yours  Now  **  og 

(dealer  ad  space  available) 

ORDER  NOW-CASH,  CHARGE  OR  C.O.D. 

ADVANCED  COMPUTING  ENTERPRISES 

5516  ROSEHILL  ^^ 

SHAWNEE,  KS.  66216  ^/^ 

^  (913)262-2675  •  (913)631-4180   ^^ 

ATARI  IS  A  REGISTERED  TRADEMAI?K  OF  ATARI  INC 


£.<g.g.^l^^^^^^Z^^A^A^AJA^A^^^A>AJ^^A>A^A^JC^A^X?X>X'X'X'^X'^^X'^^X'XH1fc| 


\Put  any  machine  language  file  on  a  boot  cassette, impossible  yousay?^ 

not  any  more! 


Si 


introducing 

NUDMEHI  SOFTWARE'S 

BOOT  CASSETTE  MAKER 

for  the  ATARI®  400/800  computers 


BOOT  CASSETTE  MAKER  places  ANY  dos 
binary  loadable  machine  language  program 
on  a  boot  cassette. 

BOOT  CASSETTE  MAKER  converts  even 
MULTIPLE  machine  language  files  to  boot 
file  format  and  then  places  them  on  a  boot 
cassette. 


BOOT  CASSETTE  MAKER  creates  a  boot 
cassette  on  which  all  run  and  initialization 
jumps  are  executed. 

BOOT  CASSETTE  MAKER  is  user  oriented, 
fully  documented  and  written  in  machine 
language. 


$29.95 


(POSTAGE  INCLUDED) 

To  order,  send  check  or  money  order  along  with  your  name  and  address  to: 

NUDMEHI  SOFTWARE 

495  OLD  YORK  ROAD,  SUITE  425 

JENKINTOWN,  PENNSYLVANIA  19046 

(215)  635-2722 


Our  order  lines  are  open  24  hours  a  day. 
MasterCard  Gladly  Accepted. 

^  Pennsylvania  Residents  Please  Add  6%  Sales  Tan 
ATAHI'  IS  a  trademark  ol  ATARI  INC, 


Dealer  Inquiries  Invited 


^ 
h 


VLdrdrdrdrdfty^yyyfVtycy'cyyy^jfrycyrV-eyryryry.yVry.y.yryAy.y.yyv-.y^ 


I 

ft 


112 


coMPum 


July.  1982,  Issue  26 


The  past,  present,  and  predicted  future  of  the  VIC.  Jim 
Butterfield,  an  internationally  recognized  expert  on 
Commodore  Computers,  discusses  VIC  software,  add-ons, 
and  VIC's  place  in  the  world  of  computing. 

Whither  VIC? 


Jim  Butterfield 
Associate  Editor 


VIC  has  been  around  fof  about  a  year  now.  It  is 
catching  on?  Old  hat?  Will  it  survive  in  the  turbulent 
marketplace? 

A  Little  History 

The  fust  VIC  units  had  problems.  Some  were 
physical  in  nature.  The  unit  ran  too  hot  —  you 
could  hardly  touch  the  ROM  plug-in  area.  The 
picture  was  of  poor  quality.  Radiation  emission 
standards  were  not  met.  These  were  cleaned  up  in  a 
redesign. 

VIC  had  another  problem,  too.  People  didn't 
perceive  it  as  a  computer.  I'here  were  few  programs 
available,  and  the  only  peripheral  was  cassette 
tape.  Memory  was  limited,  and  memory  expansion 
was  a  distant  promise. 

And  to  top  it  all  off,  VIC  was  an  unknown 
quantity.  The  VIC-20  User  Guide  —  the  "friendly 
computer  guide"  was  brightly  written  and  by  far 
the  best  user  documentation  that  Commodore  had 
yet  ptit  out,  but  it  was  limited  in  scope.  A  Program- 
mer's Reference  Guide  was  hinted  at,  but  seemed 
slow  in  making  an  appearance. 

By  late  summer  of  1981,  the  hardware  prob- 
lems had  been  resolved,  l)ut  the  VIC  had  still  not 
established  itself  as  a  mature  product.  Disk,  printer, 
and  modem  were  still  promises.  Software  was  still 
limited, 

VICs  sold  in  quite  respectable  numbers  during 
the  Christmas  season.  A  number  of  games  had 
materialized,  allowing  the  machine  to  be  nicely 
demonstrated.  The  economical  price  and  educa- 
tional potential  seemed  to  appeal  to  inany  buyers. 

In  early  spring  of  1982,  VIC  suddenly  started 
to  grow  up,  and  a  new  class  of  users  developed  an 
interest  in  the  machine,  not  as  a  game,  but  as  a 
computer. 

New  Hardware 

The  1540  Single  Drive  Floppy  Disk  unit  made  a 
dramatic  appearance.  It  looked  good  and  behaved 
well.  It  proved  to  be  compatible  with  the  C^ommo- 
dore  4040  units,  allowing  easy  transfer  of  programs 
and  data  files.  Speed  isn't  up  to  the  PET/CBM 
standards,  but  for  most  applications  it's  quite 


usable. 

Printers  are  now  available  in  limited  quantities. 
The  style  is  familiar  to  the  Commodore  user,  but 
the  price  is  more  economical. 

Other  devices  are  on  the  horizon,  .\n  IEEE-488 
interface,  which  allows  connection  to  the  PET/C^BM 
range  of  machines,  has  been  demonstrated.  An 
inexpensive  modem  is  almost  ready. 

Several  sizes  of  memory  expansion  are  on  the 
shelf,  from  the  tiny  3K  to  the  huge  16K.  A  mother- 
board system  is  promised  soon  which  will  allow  the 
expansion  of  the  VIC  to  a  full  32K  system.  On  the 
full  system,  BASIC  will  have  about  27,500  bytes 
free;  not  quite  as  much  as  a  full  PET,  but  enough 
for  most  of  us.  The  remaining  memory  isn't  avail- 
able to  BASIC,  but  can  be  used  for  high-resolution 
screens  and  other  special  applications. 

New  hardware  is  appearing  from  non- 
Commodore  sources.  It  looks  like  there  will  be  two 
types:  some  will  extend  the  capabilities  ol  the  VIC, 
making  new  things  possible;  and  others  will  com- 
pete with  existing  products,  hopefully  keeping 
prices  interesting. 

New  Software 

Commodore  has  now  made  available  three  major 
software  support  modules:  a  Monitor  to  allow 
machine  language  program  writing  and  debugging; 
a  Super  Expander,  to  make  graphics  easy;  and  a 
Programmer's  Aid  to  help  in  the  writing  and  de- 
bugging of  BASIC  programs. 

These  three  modules  are  not  essential  to  the 
VIC's  operation.  You  can  write  machine  language 
wilhout  the  Monitor;  you  can  draw^  graphics  without 
tlie  Super  Expander;  and  you  can  cerlainly  write 
BASIC  without  the  Programmer's  Aid,  But  a  job 
can  be  made  much  easier  with  their  help. 

The  Super  Expander,  in  jDarticular,  seems  to 
be  very  popular  among  programmers  with  artistic 
inclinations,  (lompuler  art,  geometric  figures,  and 
animated  sketches  have  been  enthusiastically  pro- 
duced by  users. 

The  initial  games  library  is  being  beefed  up 
with  new  offerings.  1  have  seen  several  prototype 
games  which  are  nearing  release  and  they  look 
good  -an  order  of  magnitude  better  than  the 
satisfactory,  existing  games  on  pkig-in  ROM 
cartridges, 

I'm  pleased  to  see  good  quality  programs 
coming  from  non-Commodore  sources.  There's  a 
lot  of  good  stuff  already  out  (see  Table  1 )  and 
high-quality  programs  are  a  vote  of  confidence  in 
the  VIC  by  the  software  houses. 

New  Information 

Commodore  has  now  released  the  Programmer's 
.  Reference  Guide,  which  contains  a  great  deal  of 
reference  information  on  the  VIC.  That's  the  kind 


22-40-80  HIKE! 


5i»^™I^^^li36CT)i.ZWTBil.'3«VW12»™«»«--«'»«'" 


Expand 
your 

VIC  to  80 
columns. 


jk 


Quantum  Data's  new  Video  Combo  Cartridge  brings  you:  40 
or  80  column  display,  plus  16K  RAM  and  PROM  socket 


With  the  Video  Combo  Cartridge  from  Quan- 
tum Data  you  can  now  have  40  or  80  column 
display  16K  RAM  and  PROM  all  in  one  cartridge. 
It  comes  set  for  40  column  Display  compatible 
with  the  VIC  videcfmodulator  and  your  home  TV. 
Then,  when  you  are  ready  to  upgrade  to  80  col- 
umns and  a  video  monitor,  Just  make  a  simple. 


$299* 


no-cost  change  inside  the  cartridge.  Instruc- 
tions are  provided.  Also  provided  is  a  socket  for 
a  PROM,  16K  of  memory  and  AC  adaptor.  If 
you  don't  need  memory,  then  80  columns  can  be 
yours  for  only  S199.50.  A  listing  of  the  driver  soft- 
ware is  provided  at  no  charge.  A  programmed 
PROM  containing  this  software  is  also  available 
for  $19.95. 


QOI 
^'2     expander: 


QDI  Printer 

RS-232 

interface: 


QDI 
Minimother: 


•  Expands  Basic  user  memory  up  to 
24  K  in  8K  steps 

•  PROMS  may  be  mixed  w/ith  RAM 
in  8K  blocks 

•  8K  can  be  assigned  to  machine 
language  area 

•  Plugs  directly  into  VIC  expan- 
sion port 

•  Low  power,  no  additional  power 
supply  required 

•  Professional  Quality,  full  buffering 
on  all  signals 

•  Small  size:  6  x  4.5  inches. 

16K  expander $149.95 

24K  expander $199.95 

VISA  and  MasterC<rrcf  accepted. 


•  Provides  RS-232  voltage  conver- 
sion for  VIC  serial  port 

•  Allows  use  of  a  wide  variety 
of  RS-232  peripherals  including 
printers,  modems  and  voice 
synthesizers 

•  Low  power  CMOS  circuitry 
requires  no  external  power  supply 

•  Small  size:  2',^  x  3  inches 
Printer $49.95 


•  Adds  3  slots  to  the  memory 
expansion  port 

•  Removable  card  guides  allow 
either  boards  or  cartridges 

•  Requires  no  additional 
power  supply 

•  Fused  to  protect  VIC  power  supply 
from  overload 

•  Simple  plug-in  installation 
Minimother $69.95 


QUANTUM 


(714)  966-6553 
n  A  T  A     I U  P    DEA'-^R  HOT  LINE  1 714)  754-1945 
Urt  I  ft,  Inlr.  3001  Redhill  BIdg.  4,  Suite  105,  Costa  Mesa,  0\  92626 


114 


COMPUTEI 


Julv,  1982.  Issue  26 


Non-Commodore  Software 

This  is  software  that  I've  seen  that  looks  good. 
There's  undoubtedly  lots  more.  All  games  listed  run 
in  the  5K  VIC. 

Amok—  Nicely  aniniatt'd  joystick,  c.liase  game. 

Similar  to  the  artade  game  Befserk. 
United  Microware  Industries,  Inc. 
3431  H  Pomona  Blvd. 
Pomona,  CA  9 1768 

VIC  Pics  —  Many  hig'i  resoluiion  pictures  derived 
from  TV  camera.  With  cxplanaiorv  booklet. 
Nice  .slide  shou'  for  your  friends. 

Vn-Word Processor  —  ?>\n\\>\t:,  but  does  llie  joli. 
Needs  printer,  olcotirse. 

Midwest  Micro  Associates 

P.O.  Box  6148 

Kansas  City,  MO  64  110 

Siuikmnu  —  Fast  joystick  graphics  game.  Similar 

to  the  arcade  game  Pacman. 
Microdigital 
752  John  Glenn  BKd. 
Webster.  N\'  14580 

The  Qidw—  Draws,  scrambles,  and  solves  the 

Rubic's  Cube. 
Qumax 

GRW  Laboratories 
P.O.  Box  17010 
Rochesier.  NY  1 46 1 7 


of  resource  we  need  to  exploit  the  capabilities  ot 
the  macliine. 

On  the  learning  level,  Commodore  has  released 
An  Introduction  to  BASIC.  Thi.s  is  a  lieginnef-ieN-e! 
text  wliich  comes  as  a  Ijook  and  two  cassette  tapes. 
At  first  glance,  it  looks  quite  attractive. 

What  Next? 

It  looks  good.  Users  are  now  seeing  a  computer 
system  rather  tlian  a  toy.  There's  a  new  level  oi 
interest  in  the  VIC. 

Are  there  clouds  on  the  horizoti?  Commodore 
has  announced  new  products  —  in  particular,  the 
Ultimax  and  the  Commodore  64  -  which  have  new 
capabilities  (and  some  of  the  new  features  won't  be 
VIC-compatible).  Will  VIC  be  obsolete  before  it 
really  gest  started? 

I  think  not.  In  their  first  incarnations.  Ultimax 
and  Commodore  64  won't  be  direct  competitors. 
Ultimax  is  too  small,  and  the  64  is  twice  the  price. 
More  to  the  point:  it  will  be  some  time  before  these 
products  mattne,  just  as  it  took  the  VIC  some  titne 
to  reach  its  present  state. 

I  suspect  that  it  will  be  a  couple  of  years  before 
VTC  begins  to  fade  away  from  the  retail  market. 
To  a  buyer  interested  now,  that  makes  it  a  worth- 
while investment.  Less  than  S30()  for  a  couple  of 
years'  comptiting?  A  bargain  price.  Indeed,  in  this 


technology-driven  era,  it  would  be  optimistic  to 
expect  any  machine  to  have  an  economic  life  that's 
much  longer. 

The  box  isn't  the  only  part  of  the  question, 
however.  If  you  move  on  in  two  years,  how  com- 
patible will  your  software  be?  The  Commodore 
line  has  been  relatively  stable  for  some  time.  There 
are  occasional  grtimblings  from  long-time  users 
(tnysclf  included)  when  Commodore  introduces  an 
improved  line  which  calls  for  adjustments  in  some 
specialized  programs,  but  most  programs  move 
fairly  easily.  Cominodore's  adoption  of  the  "Kernal" 
standardized  program  system  is  likely  to  help. 

Some  things  aren't  likely  to  transport.  Those 
plug-in  games,  for  example,  arc  in  ROM  memory, 
and  can't  be  trimmed  up  for  a  new  machine.  That's 
OK  ...  keep  the  VIC  for  the  games,  or  delight  the 
kid  who  eventually  buys  your  VIC  by  tossing  in  the 
games  as  part  of  the  package. 

At  a  compuler  club  meeting  in  1976,  I  asked  a 
member  what  type  of  system  he  had.  He  replied, 
"I'm  waiting  for  prices  to  drop  to  zero."  I  dt^n't 
know  if  he's  still  waiting.  Btit  prices  are  down  to 
tlic  point  where  obsolescence  in  a  couple  of  years 
shouldn't  be  an  important  factor  in  the  decision. 

Exciting  things  are  happening  with  the  VIC. 
There  are  user  groups,  there  are  lots  of  programs, 
and  new  hardware  is  appearing  very  quickly.  It's 
going  to  be  ftm.  © 


/Vff^fi^A  Educational  Prograr 
Voor  Pet  For 

$48 


Programs 
For  Your  Pet  For  Only 


%r''w       ^^^       /(9/ 

For  8  Issue  Subscriptions/i* 

/S'  ■' 
Each  '  MAtA    comes  to  you  on    ' 

cassette  with  4  brand  new  pro- 
grams to  load  ond  run  on  your 
Pet.  / 

svsTEms,  inc. 

P.O.  BQH  325 

miLFDBO,  (TllCHiUfln  A&QAP 

[313]  Sfl5-aH3 


GAMES  FOR  YOUR  VIC 

VIC  TREK*  HANGMAN 

TANK  •  YAHTZEE 

DAMSEL*  NAB  PLUS 

AND  MANY  MORE 


*/$7.95 


Each 


pFREE  Program  Summaries  available 


NEW  SOFTWARE 

VORTEX' 


^A 


TM 


^4f 


The  enemy  Is  at  the  center  of  swirling  rings  of  energy. 
Your  mission  -  penetrate  and  destroy. 


*PHANTOM  FIGHTER 

Defend  Superstition  Mountain  from  UFO's. 

...  Each  $17.95  on  cassene ... 


TM 


M'flGIE  E'flRPET 

P.O.  Box  351 15      Phoenix,  AZ  85069 


GAMES  FOR  VIC-20  ALSO  AVAILABLE 


»        TWO  6AMES-57.95 

\SPACE     LANDER*Hore    than   just   a 
I    game.    This    program  presents    a   "real    time" 

6  simulation   of   a   spacecraft   landing  on   var- 
ious  heavenlv  bodies, The   computer   analyses 
■   and   scores   successful    landings.    Contains 
9  Color,    Sound   and   Graphics. 

OlJCJ  /  O      l/lf ///  I  C  *Nii:i-like    game   pits    you 
against    the   VIC.    Flip   dots   all   uhite   and  you 
win.    Contains    Color,    Sound  and   Grapnics. 

Send  chectc  or   raonev  order(S7.95    for  both   games) 

DTC   SOFTWARE 

P.O     BOX     916  508    752-343i 

JANESVILLE,    Wl.   53547 


V 

I 

6 

■ 

2 

0 


EXPAND 


YOUR      VIC-20 


for  only 

54995 


THIS  NEW 
CARTRIDGE 
EXPANDER  BOARD 
PLUGS  INTO  THE  SINGLE  EXPANSION  PORT 
OF  THE  VIC-20,  AND  PROVIDES  THREE 
SWITCHED  EXPANSION  PORTS  FOR  SELEC- 
TIVE OR  Slf\ylULTANEOUS  USE  OF  ANY  VIC-20 
CARTRIDGES.  ADD  MEfVlORY,  PROGRAMfVlERS 
AID,  SUPER  EXPANDER,  GAMES,  WORD 
PROCESSOR,  OR  WHATEVER  YOU  CHOOSE, 
SEE  YOUR  DEALER  OR  ORDER  FROM: 


(801)487-6266 


PRECISION  TECHNOLOGY,  INC. 

GOfvlPUTER  PRODUCTS  DIV. 

2970  RICHARDS  ST. 

SALT  LAKE  CITY,  UTAH  84115 


COD 
VISA 
M'C 


miDUJEST  miCBO 


UN-WORD  PROCESSOR  ...  $14.95 

What  che  do  yoij  coll  o  progrorn  which  doei  what  a  word 
processor  does,  yet  »t  15  |ust  iqo  simple  pnd  eo^y  10  use? 
Enter  Text.  Edpl  .  -  ,  Li^t  .  ,  .  Save  .  , .  juit  like  0  progrom, 
Send  to  prinrer  far  finished  copy.  Save  paragraphs 
ieparotely,  then  me'Qs  m  Oi^y  order  for  pnniling.  Re- 
quires only  two  line^  oi  BASIC  to  occess  the  M/l  coufinei; 
over  3K  avoilable  for  text.  Con  be  used  with  memory 
expansion.  For  ViCl515  or  RS-232  printers.* 

TERMINAL-40  . . .    $29.95^ 

NEW.  impio-aed  TERMINAL  ^0  progrcm  ditployi^  JQ  uppe^cobe  chor^ 
Qctcr^  p«(  line  (3^6  doi  motfi»)  for  easier  tpadmQ  Erkoblet  VtC  to 
emulofe  o  Mofidoid  lefminal.  Add  o  6(ZC0mP  o'  ViC  modem 
<or  ftS232  modem  wiih  inrerfoce" )  and  Cicce»  SOURCE  TELENET,  or 
ony  o(  the  free  Sjllehn  Boord^  around  the  country  {lit  inrludedj.  300 
boud;  (ull  01  holf  duplex;  iLipporls  conlroi  ■codei;  screen  dump  to 
pfinfei     Requirtfi  VI^C-20  and  SK   memory  expanior 

TERMINAL-22   ($14.95)     Same  oi  feRMdOe«epr23 
;harattet  hneiond  lull  duplex  only   Run»  on  iiondoid  SK  ViC. 


GRAFIX  MENAGERIE  ($11.95).  Ocp.cr.ii,o*^^bo^yo-.^£300m.rodf  condc^Twcprn^.or 
wrt  ufiieaihes  VlC's  ^itJphJcs.  SHOWOFF  contoins  Cobr  KolBdosrope  Arcodc  Critrsii.  Cusiom  Fonn. 
EiecTfonki  Schemafic,  and  AWirr  Notofion  PtOTTtNG  uies  dot-ptcn  pnd  iine-pJof  roytineii  to  mate  equo 
hons  perform  computer  video  ort  on  youi  scraBn  ChoTige  equation  volt^^i  pnri  <rsolc  your  own  mleFe^linc} 
potterrti.  Pfot  routinci  moy  be  eaiiiy  induded  in  your  o'^r)  pragromi. 

BANNER/HEADUNER  (514.95).  Tv-oprogrom  wtmoiiei  giant  heodlines  and  bortne.^  on 
yovr  printer.  MEADUNER  pnnis  latgw  chorotteri  ocrost  rhe  paqt  in  fhree  liroi.  BANNER  furns  the 
^haroct'Cr*  ttdewoys,  pnnt+ng  continuously  down  the  p'Qper  roll.  Up  10  thre*  linot  of  !«»?.  rteorly  Lrnl^mhted 
in  lenQth.  {How  oboyl  a  ten-foot  king  "WELCOME  HOME"?)  For  VlC-1515  Or  RS  232  p.^rtieri.' 

IICKERTAPE  ($14.95).  imerrypt-drivent  Wotchyoyf  fnewofle  glide  smoorhly  ocroij  The  screen  in 
ceJof.  Add*  moJion  ortrf  iflteres*  1o  ony  mssioge  duploy  PojJtion  on  ony  line,  even  mix  wiTh  noimal 
panting.  Two  buUt-tn  cKarotte'-  wt»:  ito'^doi'd  orid  BOLDvor  uis  cirtlom  leti  (rom  our  UBSAftY  VOi.  1 ! 
M«,<.B.  capacty:  e  IK  byr..        UBRARy    vfJL.     1     ($12.95).    Add  „yl,  ,o  d.,pia,>  -.h  „. 

fuiJ  lets  of  <Lfitom  chorocter  ic^H;  UPPERCASE.  lov-«*to^B.  numeroli. 

p(jncli;aTion.  etc    Simple  TO  ianiy  styles    Upper  Ond  lowfif  «at#  4lOred 

i«paiaiely;  toad  upper  atOne  ro  save  ipoce  ..     ioad  bCLti<  for  a  full 

jftt.  Moy  be  u^ed  witl.  UCKERTAPE. 


All  progrom^  an  high  quolily 
digital  casielTe  top« 


VIC-PICS   ....     digitized  pictures!   $18.95 

Nineteen  fascinating  high-resolution  pictures  to  disploy 
on  your  VIC  screen.  Creoted  by  digitizing  video  camera 
irjiages.  Includes  portraits,  models,  scenery,  and  much 
more.  Over  16K  points  analyzed  in  each  picture.  Three 
styles:  h»-contrast,  dithered,  ond  colorized.  Compalible 
with  both  cofor  and  B/W  sets. 


GRAFIX  DESIGNER  ($14.95).  rwoprogmm  ^er  help^  you  de^.gn 
CUStQ'm  grpphicvchpra  tiers  GEN /EDIT  di^pCayi  on  enlarged  BiB  square  move  the 
cursor  around  in  il  and  lurn  dofi  on  or  oH  lo  foim  a  chofatTci  iHoldk  lOO*  ErO^e 
edit  or  recall  of  londom  Idod  OATAMAKEft  when  trn-vhcd  dcs-QOmq  ChiOraCeri 
ouiotnaricoHy  become  rumbe-ied  doio  iiciemenri.  So^e  (hem  on  rope  [uvr  Lte  o 
prog'Om,   InnruCtiorn  included  lor  appending  to  ony  new  or  old  program 


Build  Nbroriei  of  grophic* 


oy  Ihe  groph  paper' 


RS-232  INTERFACE  fS49.95).  Get  more  out  of  your  VIC  Plugm  inter 
face  comfnuniCQlci.  wifh  moit  itondord  ierJol  prfnters  pnd  modems  Sirimply  plug 
into  Vici  Port,  nee:d&  no  exiemol  power  Bi-directionol  opcolion  90  day  won  amy 
Full  imisfruttioni  for  uie.  Includes  M.'l  hondihoke  'Vedge," 


■RS  233  pri-ite 


requ 


:'ta 


See  OLni.  obovf 


miDUUEST  miCRQ  f'IssQCiates    PO  Box  S148    CC  nno,641lO 


Include  SI. 25  for  postage  and  hondling.     _ 
M^s^puri  rgjidcnts.  odd  4.6%  sf*'"'  ^■"•'   ^r 


116 


COMPUTEI 


July,  «82,  Issue  26 


QnadraPET(OOMPUn\.  June]  981.  #13)  ij  a  machine 

language  jn'ogram  thai,  lets  you  "fHirliliov"  the  tiiettioty  of 
a  32K  PET  with  Upgrade  BASIC  into  four,  8K  areas.  A 
BASIC  program  can  reside  in  each  partition.  Each 
jnogram  ran  he  run  independently.  It's  like  Jiavingfour 
computers  in  one. 

Super  QuadraPET  converts  QiiadraPET  to  run  on 
4.0  machines  (4032  and  8032)  with  32K.  Also  included 
is  n  Imndy  utility  program  that  makes  QiiadraPET  easy  to 
use.  It  can  even  relocate  itself  into  one  of  the  partitions  — 
ready  to  go,  but  out  of  the  way. 

To  use  QitadraPET  4.0,  type  in  and  .save  Program 
I .  It  places  the  machine  language  program  in  upper 
memoiy.  Program  I  must  he  RUN  heiore you  load  and 
RUN  Program  2. 


Super 
QuadraPET 


Dovid  Sale 
Acton,  Ontario 

Several  ai  lit  les  have  appeared  in  COMPUTE!  dealing 
with  memory  partition  for  the  PET  computer.  1 
coidd  see  the  vakie  of  this  procedure  for  program 
dcvclopmcm.  especiall)  since  "Dungeon"  could  be 
neatly  lucked  away  in  one  of  the  partitions  to  keep 
my  son  happv  wheii  I  took  a  break. 

L'nlbrtimatelv.  the  \"erv  useful  program  by 
Charles  Brannon  (COMPUTE!,  June  1981,  #13^  p. 
102)  uas  vvriltcn  ior  L'pgrade  RC^Ms  and  will  not 
operate  on  4.0  niaciiines.  In  revising  his  prograin, 
1  made  several  changes: 

1)  The  program  has  been  relocated  to  the  top 
of  memory  to  leave  the  cassette  buffer  available 
for  machine  language  program  development. 

2)  ("alls  to  bask;  routines  are  revised  for  use 
with  4.0  ROMs. 

3)  Memory  partitions  have  been  changed  to 
make  areas  more  nearly  equal  in  size  rather 
than  having  the  first  partidon  (the  most  easily 
accessible)  be  the  smallest. 

To  create  the  partitions,  load  Program  1  and 
type  RUN.  Four  8K  partitions  will  be  created.  By 
choosing  PET  #1,  you  can  then  load  the  utility 
program  (Program  2)  thai  will  simplify  many  tasks 
involved  in  program  development  and  in  "Quadra- 
PEFting."  I  use  the  utilitv  program  to  relocate 
itself  into  partition  four  where  it  is  available  when 


needed  to  perform  the  following  tasks: 

1)  Converting  decimal  numbers  to  hex  and 
vice  versa. 

2)  Moving  programs  to  and  from  the  first 
partition. 

This  is  necessary  to  avoid  having  to  use  machine 
language  SAVEs  or  awkward  loading  procedtues. 

3)  Printing  a  directory  to  show  which  areas 
are  a\'ailable  for  use  to  avoid  accidentally 
destroying  a  program. 

Moving  Around  In  The  Partitions 

In  relocating  programs,  the  program  to  be  moved 
is  duplicated  in  the  dcsiicd  partition  with  all 
pointers  reset  to  enable  it  to  operate  correctly.  It  is 
not  erased  from  the  original  area.  This  makes  it 
possible  to  re\ise  a  program  in  one  area  and  then 
compare  the  results  with  the  original  in  another. 

If  you  are  working  in  the  partition  that  contains 
the  utility  program  you  can  move  to  another  area 
easily  using  its  routine  #6.  If  you  are  in  another 
area,  you  can  move  using  SYS  32513.  Once  you 
have  moved  to  a  new  area,  the  program  contained 
in  it  will  operate  normally.  To  erase  the  program 
or  enter  a  new  one,  simplv  t)'pe  NEW. 

One  word  of  caution:  the  relocation  routines 
will  move  only  BASIC  programs.  Programs  con- 
taining machine  language  must  be  left  in  partition 
one  or  relocated  using  "Supermon"  (COMPUTE!, 
Dec.  1981,  #19,  p.  134).  If  you  want  to  pack  "Super- 
mon" into  the  top  of  partition  four  follow  this  pro- 
cedme: 

1)  Load  and  run  QuadraPET. 

2)  Choose  PET  #  1 . 

3)  POKE  ,53.127  to  temporarilv  remove  the 
partition. 

4)  Type  NEW. 

5)  Load  and  rtin  "Su|>ei"mon." 

6)  POKE  53,35  to  restore  the  partition. 

7)  POKE  32(327, 1 2 1  to  protect  "Supermon." 

If  you  have  saved  "Supermon"  at  the  top  of 
memory  rather  than  at  0(500  you  will  need  to  i'oUow 
a  slightly  different  procedure: 

1)  Load  "Supermon."" 

2)  Relocate  it  to  7933  Iiex  using  its  transfer 
fimction. 

3)  [,oad  QuadraPE  r  and  run  it  choosing 
PEr#l. 

4)  POKE  32()27, 1 2 1  to  protect  "Supermon." 

"Supermon"  is  now  safely  tucked  away  at  the  top  of 
memorv  imder  the  QuaclraPET  program  ready  for 
use  widiS\'S3]()27. 

No  doubt  you  will  discover  more  uses  for 
these  progiams  once  you  begin  to  explore  their 
possibilities. 


THE 

BUSkHESS 

mfinfiCER... 

FULLY  INTERACTIVE  ACCOUNTING 
SYSTEM.  NO  DISKETTE  CHANGING! 
FINALLY  ALL  THE  FEATURES  YOU'VE 
BEEN  WAITING  FOR  -  IN  ONE 
COMPLETE  INTERACTIVE  SYSTEM, 

FULL  SOFTWARE  SYSTEM 
ONLY  $995.°° 

©UESTAR 

▼yiNc 


MANUAL  ONLY  -  $4D.0D 
REFUNDABLE  UPON 
SYSTEM  PURCHASE. 


HARDWARE  REQUIREMENTS: 

Commodore  Model  8032  or  SuperPET  or 

8096  Micro-compuler 

Commodore  Model  8050  One  Megabyte  Dual  Disk  Drive 

Commodore  Model  4022  (or  Larger)  Printer 

Commodore  PET  —  IEEE  cable 

Commodore  IEEE  —  IEEE  cable 


DkSHiSHAHE 

WORKS  WITH  ALL  COMBINATIONS 
PET/CBM  1  00%  HARDWARE.  NO 
SOFTWARE  REQUIRED!  UP  TO  8 
USERS  SHARE  DISK  AND/OR  PRINTER, 
CONNECTS  IN  MINUTES  -  NO  TOOLS 
REQUIRED.  INCREASES  PRODUCTI- 
VITY-REDUCES COSTS.  IDEAL  FOR 
EDUCATION  AND  BUSINESS.  CABLE 
LENGTHS  UP  TO  50  FEET. 

ONLY  S749°° 


/////////////////iiiiiiiiiiiiiiiiiiminmuuiwmwuwwwwww 
///////i///////iiiiiiiiiiiiiiiniiiiiniini\m\u\\\u\u\\\\\\\\\\\ 


cu.a.j 

a  USER  SYSTEM  ONLY  S1 149 


DEALER 

INQUIRIES 

WELCOME. 


©UESTAR 
_  INTERNATIONAL 
▼\  INC 


User 
System 


118 


COMPUTEI 


July.  1982.  Issue  26 


References: 

Brannon,  Charles.  "QuadraPET:  Multitasking  On  Your 
F'ET?,"  COMPUTE!, June  1981.  #13,  p.  102. 

Buuerfield,  Jim,  et  al,  "Supermon:  A  Primary  Todl  For 
Machine  Language  Programming,"  COMPUTE!, 
Dec.  1981,  #19,  p.  134. 


Program  1. 


QUADRA  PET  HIGH  MEMORY 

VERSION  4.0 

COMPUTEIJUNE  81 

REVISED  BY    DAVID  SALE 

NOV. 17  1981 

POKE  53,127 
32513  TO  32645 


10  REM 

20  REM 

3  0  REM 

40  REM 

50  REM 

60  REM 

7  0  REM 

80  POKE  52,255; 

100  FOR 

110  READ  A 

120  POKE  I, A 

130  NEXT 

140  SYS  32586 

150  PRINT" {CLEAR} {05  RIGHT}QUADRA  PET  DIVID 

ES  THE  AVAILABLE" 
160  PRINT" {DOWN}MEMORY  INTO  FOUR  8K  AREAS  T 

HAT  CAN  EACH" 
170  PRINT" {D0WN}ST0RE  A  SEPARATE  PROGRAM." 
180  PRINT" {02  DOWN} {05  RIGHTlYOU  ARE  NOW  IN 

PET"PEEK(32611)+1''.  TO  MOVE  TO" 
190  PRINT" {DOWN}ANOTHER  AREA  TYPE  {REV}SYS  ~ 

32513{OFF}." 
200  PRINT" {02  DOWN} {05  RIGHT} PROGRAMS  MAY  B 

E  LOADED  OR  SAVED  IN" 
210  PRINT"{DOWN}THE  FIRST  AREA  IN  THE  NORMA 

L  MANNER." 
220  PRINT" {02  DOWN} {05  RIGHT} PROG RAMS  IN  OT 

HER  AREAS  MUST  EITHER" 
230  PRINT"BE  SAVED  BY  MACHINE  LANGUAGE  OR  M 

OVED" 
240  PRINT" {DOWN}TO  PET  #1  USING  THE  UTILITY 

PROGRAM." 
250  END 

995  REM   CLEAR  END  OF  STRING 
1000  DATA  169,0,141,133,127 
1005  REM   STORE  PRESENT  POINTERS 
1010  DATA  174,99,127,165,42,157,104,127,165, 

43,157,108,127 
1015  REM   SELECT  NEW  AREA 
1020  DATA  169,116,160,127,32,29,187,32,228,2 

55,41,15,24  0,249,201,5,176,245 
1030  DATA  170,202,142,99,127 
1035  REM   SET  ALL  POINTERS  &  CLR 
1040  DATA  169,1,133,40,189,100,127,133,41,18 

9,104,127,133,42,189,108,127,133 
1050  DATA  43,169,0,133,52,189,112,127,133,53 

,32,238,181,96 
1055  REM   INITIALIZE  EACH  AREA  FIRST 
1060  DATA  162,0,169,0,24,157,0,4,157,0,35,15 

7,0,66,157,0,97 
1070  DATA  232,224,3,144,238,76,1,127 
1075  REM   POINTER  DATA 
1080  DATA  0,4,35,66,97,3,3,3,3,4,35,66,97,35 

,66,97,127 
1085  REM   WHICH  PET  QUESTION 
1090  DATA  147,87,72,73,67,72,32,80,69,84,63, 

32,40,49,45,52,41,0 


Program  2. 

100  PRINT" {CLEAR}PET  UTILITY  PROGRAMS" 

110  PRINT" ############# #######" 

120  REM   VERSION   JANUARY  10,  1982 

130  REM         DAVID  SALE 

140  REM       ACTON   ONTARIO 

150  REM    FOR  USE  WITH  QUADRA  PET 

160  REM    VERSION  4.0  HIGH  MEMORY 

170  PRINT" {DOWN} {REV} IfOFF}  DECIMAL  TO  HEX" 

180  PRINT" {DOWN} {REV}2{0FF}  HEX  TO  DECIMAL" 

190  PRINT" {DOWN} {REV} 3{0FF}  RELOCATE  TO  PET 

#1" 
200  PRINT" {DOWN} {REV}4{0FF}  RELOCATE  FROM  P 

ET  #1" 
210  PRINT" {DOWN} {REV} 5{0FF}  PRINT  DIRECTORY 

220  PRINT" {DOWN} {REV}6{0FF|  MOVE  TO  ANOTHER 

PET" 
230  PRINT"{02  DOWN}TYPE  IN  THE  NUMBER  OF  YO 

UR  CHOICE" 
240  GET  A: IF  A<1  OR  A>6  THEN  240 
250  ON  A  GOTO  260,440,590,1040,1490,1670 
260  PRINT" {CLEAR}DECIMAL  HEX  CONVERSION   TY 

PE  {REV}M{OFF}  FOR  MENU" 
270  PRINT" ######## it ########### ############ 

#  #  #  #  jl  #  " 
280  PRINT" [DOWN}TYPE  IN  DECIMAL  NUMBER  (MAX 

65535) {DOWN} " 
290  INPUT  AS:IF  AS="M"THEN  100 
300  A=VAL(AS> 
310  IFA>=16*4THENPRINT"ILLEGAL  QUANTITY" :G0 

TO280 
3  20  IFA>  =  16''3THENB(1)=INT(A/(16"3))  :A=A-B(1 

) *  (16*3)  :GOTO340 
330  B(1)=0 
3  40  IFA>255THENB(2)=INT(A/256) : A=A-B ( 2) *256 

IGOTO360 
350  B(2)=0 
360  IFA>15THENB(3)=INT(A/16) :A=A-B{3) *16:G0 

TO380 
370  B(3)=0 
380  B(4)=A 

390  C$  =  "0123456789ABCDEF'' 
400  PRINTTAB(8) "{UP}=  {REV}"; 
410  F0RX=1T04:B=B(X)+1:B$ (X)=MID$ (CS,B,1) 
420  PRINTB$ (X) ; :NEXT 
430  PRINT" {OFF}  HEX" :GOTO290 
440  PRINT" {CLEAR} HEX  TO  DECIMAL   TYPE  {REV} 

M{OFF}  FOR  MENU" 
450  PRINT"*»##»#######tt########tt#####tt###" 
460  PRINT" {DOWN }TYPE  IN  HEX  NUMBER  (MAX  FFF 

F) {DOWN} " 
470  DC=0:INPUT  HX$:IF  HX$="M"THEN  100 
480  IF  LEN(HX$)>4  THEN  530 
490  IF  LEN(HX$)<4  THEN  TM$="000"+HX$ : HX$=RI 

GHTS(TM$,4) 
500  FOR  1=1  TO  4:IN=ASC(MID$(HX$,I,1) ) 
510  IF  IN>47  AND  IN<53  THEN  IN=IN-48 :G0T0  5 

40 
520  IF  IN>64  AND  IN<71  THEN  IN=IN-55 :G0T0  5 

40 
530  PRINT"ILLEGAL  QUANTITY" :GOTO  460 
540  DC=DC+IN*  (16*  (4-1) ) 
550  NEXT 

560  TM$  =  "__^ "  +  STR$  (DC)  :DC$  =  RIGHT$  {TMS,5) 

570  PRINT" {UP} "TAB(8) "=  {REV} "DC5TAB ( 16) " { 0 

OFF}DECIMAL" 


HAI^py  CICTHDAy 


Aid  for  Search  and  Retrieval  off  Text 


One  year  later...  ASERT  is  now  indispensable  to  many  businesses  across  the  U.S.  and  in 
Europe.  From  Employment  Agencies  and  Travel  Services  to  Schools  and  Libraries  ASERT  is 
helping  to  make  the  filing  cabinet  obsolete!  Flexible  in  format  and  simple  to  use,  ASERT 
can  more  than  pay  for  itself  in  a  short  period  of  time. 

The  NEW  COMPILED  ASERT  features: 

11,000  CHARACTER  "VIRTUAL"  RECORD  LENGTH 

21  "FIELDS"  AND  180  "SEARCHWORDS",  ALL  USER-DEFINABLE 

"FREE-TEXT"  FIELD  FOR  EXTRA  COMMENTS 

ABILITY  TO  RESTRUCTURE  FILES  AT  ANY  TIME 

SEARCH  ON  ANY  COMBINATION  OF  FIELDS  AND  SEARCHWORDS 

"MUST  HAVE",  "MUST  NOT  HAVE",  "OPTIONAL",  "OR"  OPERATORS 

WORKS  WITH  POPULAR  WORD  PROCESSING  PROGRAMS  &  PRINTERS 

PRODUCE  FORM  LETTERS,  REPORTS,  AND  MAILING  LABELS 

USER  FRIENDLY  -  MENU  DRIVEN  -  OPERATOR  ORIENTED 

AND  MANY  OTHER  NEW  FEATURES 

C.  F.  I.  HOTLINE  AVAILABLE  TO  USERS 


OTHER  CFI  SOFTWARE 

Federal  Income  Tax  Preparation  System' 

Personal  Tax  Calculator' 

Emergency  Control  Program* 

VIC  Animation  Tutorial 


%im^ 


AVAIIABLE  FROM  YOUR 

^C  c  om  m  o  d  or  e 

DEALER 


CFI . . .  computer  solutions 

201  West  92nd  Street  •  New  York,  NY.  10025  •  f212)  724-1711 


120 


COMPUTE! 


July,  1982.  Issue  26 


580  GOTO  470 

590  PRINT" {CLEAR}RELOCATION  PROGRAM  TO  PET  ' 

#1" 
600  PRIMT" #»###»###««»#»»#######»###»#" 
610  IF  PEEK(1026)=0  THEN  670 
620  PRINT" [DOWN] PET  #1  CONTAINS  A  PROGRAM" 
630  PRINT"DO  YOU  WANT  TO  DESTROY  IT  ?" 
640  GET  RS:IF  R5=""  THEN  640 
650  IF  RSO'Y"  THEN  100 
660  PRINT  TAB(30) "{UP} {REVlYES{OFF} " 
670  PRINT" {DOWNlWHICH  PET  HAS  PROGRAM  TO  BE 

MOVED  ?" 
680  GET  N$:IF  N$=""  THEN  680 
690  NO=VAL(N$) :IF  N0<2  OR  N0>4  THEN  680 
700  PRINT  TAB(37) "{UP} {REV}"N0 
710  PRINT" {DOWN}ARE  YOU  SURE  7" 
720  GET  R$:IF  R$  =  "''  THEN  720 
730  IF  R$<>"Y"THEN  100 
740  PRINT  TAB(17) "{UP} {REV}YES{OFF} " 
750  PRINT" {DOWN}TRANSFERING  CONTENTS  OF  PET 

#"N0 
760  PRINT"INTO  PET  #1" 
770  REM   SAVE  POINTERS  IF  IN  PET  NO 
780  IF  PEEK(32611)<>N0-1  THEN  810 
790  POKE  32616+NO, (PEEK{42)) 
800  POKE  32620+NO, (PEEK(43)) 
810  REM   CORRECT  POINTERS  IN  PET  #1 
820  N0=N0-1:V1=PEEK (32616+NO) 
830  POKE  32616, VI:   REM   VAR .  LOW 
840  V2=PEEK(32620+NO)-31*(NO) 
850  POKE  32620, V2:   REM   VAR.  HIGH 
860  MH=PEEK(32624+NO) -31*(N0) 
870  POKE  32624, MH:   REM   MEMORY  LIMIT 
880  SU=NO*7936:      REM   SUBTR.  FACTOR 
890  SA=SU+1025:      REM   START  ADDRESS 
900  REM   CORRECT  POINTER  TO  NEXT  ADDRESS 
910  PA=PEEK (SA) +256*PEEK{SA+1) 
920  BY=PEEK(SA) :POKE(SA-SU) ,By 
9  30  SA=SA+1:BY=PEEK{SA) :POKE(SA-SU) , (BY-SU/ 

256) 
940  REM   TRANSFER  REST  OF  LINE 
950  SA=SA+1:F0R  A=SA  TO  (PA-1) 
960  BY=PEEK(A) :POKE(A-SU) ,BY 
970  NEXT 

980  REM   CHECK  FOR  END  OF  BASIC 
990  IF  PEEK(PA+1)<>0  THEN  SA=PA:GOTO  910 
1000  POKE  PA-SU,0:POKE  PA+1-SU,0 
1010  PRINT" {DOWN}PROGRAM  TRANSFERRED" 
1020  FOR  A=l  TO  3000:  NEXT 
1030  GOTO  100 
1040  PRINT" {CLEAR}RELOCATE  FROM  PET  #1" 

1050  PRINT"#### ###§#######»####" 

1060  PRINT" {DOWN)TO  WHICH  PET  ?  (2-4)" 

1070  GET  N$:IF  N$=""  THEN  1070 

1080  NO=VAL(N$) :IF  N0<2  OR  N0>4  THEN  1070 

1090  PRINT  TAB(22) "{UP} {REV}"NO 

1100  PRINT" {DOWN}ARE  YOU  SURE  ?" 

1110  GET  R$:IF  R$=""  THEN  1110 

1120  IF  R$<>"Y"  THEN  100 

1130  PRINT  TAB(16)"{UP3 {REV}YES{OFF}" 

1140  IF  PEEK(1026+(NO-1)*7936)=0  THEN  1200 

1150  PRINT" {D0WN}PET"NO"CONTAINS  A  PROGRAM" 

1160  PRINT"DO  YOU  WANT  TO  DESTROY  IT  ?" 

1170  GET  R$:IF  R$=""THEN  1170 

1180  IF  R$<>"Y"THEN  100 

1190  PRINT  TAB(30) "{UP} {REV}YES{OFF}" 

1200  PRINT" {DOWN}TRANSFERING  PROGRAM  TO  PET 

#"N0 
1210  PRINT"FROM  PET  #1" 
1220  REM   SAVE  POINTERS  IP  IN  PET  1 


1230  IF  PEEK  (32611)00  THEN  1260 

1240  POKE  32616,  {PEEK  (42) ) 

1250  POKE  32620,  (PEEK  (43) ) 

1260  REM   CORRECT  POINTERS  IN  PET  NO 

1270  NO=NO-l:Vl=PEEK{32616) 

1280  POKE  32616+NO, VI:   REM   VAR.  LOW 

1290  V2=PEEK(32620)+31*(NO) 

1300    POKE    32620+NO, V2:      REM      VAR.    HIGH 

1310    MH=PEEK(32624)+31* (NO) 

1320  POKE  32624+NO,MH:   REM   MEM.  LIMIT 

1330  AD=NO*7936:      REM   ADD.  FACTOR 

1340  SA=1025:         REM   START  ADDRESS 

1350  REM   CORRECT  POINTER  TO  NEXT  ADDRESS 

1360  PA=PEEK (SA)+256*PEEK(SA+1) 

1370  BY=PEEK(SA) :POKE(SA+AD) ,BY 

1380  SA=SA+1 :BY=PEEK (SA) :POKE(SA+AD) , (BY+AD/ 

256) 
1390  REM   TRANSFER  REST  OF  LINE 
1400  SA=SA+1:F0R  A=SA  TO  (PA-1) 
1410  BY=PEEK{A) :POKE{A+AD) ,BY 
1420  NEXT 

1430  REM   CHECK  FOR  END  OF  BASIC 
1440  IF  PEEK(PA+1)<>0  THEN  SA=PA:GOTO  1360 
1450  POKE  PA+AD,0:POKE  PA+1+AD,0 
1460  PRINT" {DOWN} PROGRAM  TRANSFERRED" 
1470  FORA=1TO3000:NEXT 
1480  GOTO  100 
1490  PRINT" {CLEAR}DIRECTORY  FOR  PROGRAMS  IN  " 

PARTITIONS" 
1500  PRINT" ########»#########»#»# ####§#####» 

111" 
1510  FOR  A=l  TO  4 
1520  PRINT:PRINT"{DOWN}PET  #"A 
1530  PRINT" ####it##" 
1540  READ  B 
1550  IF  PEEK(B)=0  THEN  PRINT  "EMPTY";  :GOTO  1 

610 
1560  PRINT  "CONTAINS  PROGRAM"; 
1610  NEXT 

1620  DATA  1025,8961,16897,24833 
1630  RESTORE 
1640  PR1NT:PR1NT"{02  DOWN}PRESS  {REV}M{0FF}  ~ 

TO  RETURN  TO  MENU" 
1650  GET  R$:IF  RS=""THEN  1650 
1660  GOTO  100 
1670  SYS  32513 
1680  PRINT" {CLEAR} "TAB(3) "{02  D0WN}Y0U  ARE  N 

OW  IN  PET  *"  PEEK  (32611)+1  "{LEFT} 

n 

1690  PRINTTAB(3) "{02  DOWN}ANY  PROGRAM  IN  THI 

S  PARTITION  IS" 
1700  PRINT" {DOWN}UNDISTURBED  AND  MAY  BE  RUN  " 

OR  MODIFIED." 
1710  PRINTTAB{3) "{02  DOWNJTO  ENTER  A  NEW  PRO 

GRAM  FIRST  TYPE  { REV}NEW{ OFF} " 
1720  PRINT"THEN  PROCEED  IN  THE  NORMAL  FASHIO 

N." 
1730  PRINTTAB(3) "{02  DOWN}TO  MOVE  TO  ANOTHER 

PARTITION  TYPE" 
1740  PRINT"{DOWN} {REV}SYS  32513{OFF}.  THE  PR 

OGRAM  IN  THIS  AREA" 
1750  PRINT" {DOWN}WILL  BE  PROTECTED  UNTIL  NEE 

DED  LATER." 


COMPUTE!  The  Resource, 


July,  1982,  Issue  26 


COMPUTEl 


121 


A  disaster-prevention  technique  for  Apple  Disk  systems. 
Teachers  should  find  this  especially  valuable.  For  DOS 
3.3  with  48K  RAM. 


Apple  DOS 
Changer 


Robert  Swirsky 
Cedarhurst,  NY 


If  there  !s  an  Apple  in  a  classroom,  there  is  usuall) 
a  student  who  gets  immense  pleasure  out  of  typing 
"I NIT"  and  watching  the  drive  whir  and  click  as  it 
erases  the  disk! 

There  is  a  strange  phenomenon  which  occurs 
when  you  mix  microcomputers  and  young  people. 
Most  of  them  will  treat  the  computer  with  reason- 
able care,  but  there  is  always  someone  who  feels 
compelled  to  try  to  "mess  up"  the  computer's  files. 

I  know  from  experience;  I  used  to  be  such  a 
student.  What  can  be  done  to  stop  people  from 
tampering  with  dangerous  DOS  commands?  The 
answer  is  simple  -  just  change  the  names  of  coin- 
mands  that  you  don't  want  available  to  users.  Since 
the  DOS  is  stored  in  RAM,  it  is  relatively  easy 
to  find  the  table  of  commands,  and  modify  it 
accordingly. 

This  program  will  change  the  DOS  commands. 
When  run,  it  displays  each  command  followed  by  a 
prompt.  If  you  want  to  change  the  command,  just 
type  in  your  revision.  To  leave  it  unmodified,  hit 
the  RETURN  key.  The  next  DOS  command  will  be 
displayed,  and  the  same  procedure  is  followed. 

A  few  words  of  caution  are  needed.  First  of  all, 
don't  make  the  new  commands  so  that  they  match 
the  beginnings  of  other  commands.  For  example, 
if  you  change  "CATALOG"  to  "C",  conflicts  will 
arise  if  you  try  to  use  the  CLR,  CLOSE,  or  other 
commands  that  begin  with  C,  Second,  don't  put 
spaces  in  your  command.  This  tends  to  make 
strange  things  happen.  Also,  avoid  making  your 
commands  excessively  long.  There  is  only  so  much 
room  in  memory  for  the  command  table.  Note, 
however,  that  the  commands  can  be  of  different 
lengths  from  the  original  ones. 

HowToHAHAADisk 

The  program  will  work  on  DOS  3.3  with  48 K  of 


RAM.  It  will  not  work  with  less  than  48K,  without 
changing  the  addresses  that  the  changes  are  POKEd 
to.  Since  the  vast  majority  of  Apple  owners  have 
the  48K,  this  is  hardly  a  limitation. 

After  the  program  is  RUN,  the  changes  can  be 
saved  as  a  permanent  part  of  DOS.  Insert  a  blank 
disk,  and  type  the  INIT  command,  followed  by  the 
correct  parameters.  Of  course,  if  you  have  changed 
the  INIT  itself  lo  something  else,  you  would  type 
that  in  instead.  When  the  initialization  is  completed, 
the  disk  will  have  your  DOS  modifications  stored 
on  it.  Whenever  DOS  is  booted  from  that  disk, 
your  custom  commands  will  be  the  ones  that  the 
Apple  knows. 

A  great  deal  of  protection  is  offered  with  this 
program.  If  you  decide  to  change  INIT  to  HAH  A, 
nobody  can  init  the  disk.  Anyone  who  tries  will  be 
greeted  with  a  PSYNTAX  ERROR  (beep).  However, 
when  you  go  to  HAHA  your  disk,  you  will  be 
successful. 


0  ONERR   GOTO  1000 

1  DIM  C0$ (28) 

2  P  =  1 

10  FOR  X  =  43140  TO  43271 

20  C0$(P)  =  C0$(P)  +  CHRS  (  PEEK  (X) ) 

31  IF   PEEK  {X)  >  128  THEN  P  =  P  +  1 

32  IF  P  =  28  THEN  70 
40  NEXT 

7  0  HOME 

80  PRINT  "DOS  CHANGER  BY  ROBERT  A.  SWIRSKY 


160 

170 
180 

190 

200 

210 
220 
221 
230 
235 
240 
250 
260 
261 

270 
280 
290 
295 

300 
501 
510 
520 
530 
599 
600 
1000 


;  PRINT  "HIT  'C  TO 
IF  R$  <  >  "C"  THEN 


CONTINUE"; 
160 


"YOU  WILL  SEE  ALL  28  DOS 


SIMPLY  RE 


VTAB  24; 

GET  R$: 

HOME 

PRINT  :  PRINT 

COMMANDS" 

PRINT  "IF  YOU  WISH  TO  LEAVE  IT  UNCHANGE 

D,       PRESS  RETURN" 

PRINT  "TO  CHANGE  THE  COMMAND, 

TYPE  IT  WITH  VOUR  CHOICE." 

PRINT  :  PRINT 

LL  =  43139 

HL  =  43271 

FOR  Q  =  1  TO  28 

PRINT  C0$  (Q) ; 

TAB(  20);"  — >  "; 

R$ 

=  ""  THEt^  R$  =  C0$(Q) 


=  1  THEN   PRINT  "PLEASE  — 

LETTERS":  GOTO  240 

LEN  (R$)  -1 

ASC  (  MID$  (R$,W,1)) 


PRINT 

INPUT 

IF  R$  = 

IF   LEN  (R$) 

TWO  OR  MORE 
FOR  W  =  1  TO 
POKE  LL  +  W, 
NEXT 

IFASC(RIGHTS{RS,1) ) >127THENPOKELL+W,ASC 
(RIGHT$(R$,1) ) :GOT0  501 
POKE  LL  +  W,ASC(RIGHT${R$,1) )+128 
REM 

LL=LL+W 

IF  LL  >  HL  THEN  600 
W=0 
NEXT 
PRINT  "CHARACTER  LIMIT  EXCEEDED" 

PRINT  "RUN  TERMINATED"  C 


122 


COMPUTEI 


July.  1982.  Issue  26 


A  Monthly  Column 


This  month,  columnist  Michael  Day  tackles  some  of  the  practical  aspects  of  adding  a  modem  to 

your  computer.  A  modem  will  let  your  computer  talk  to  other  rnmjniters  over  the 

telephone  lines.  JJ  you're  shopping  for  a  modem,  you'll  need  to  ansiuer  some  questions  first. 

Will  you  want  the  computer  to  be  able  to  "pick  up  the  phone"  by  itself  and  answer 

incoming  colls  automatically?  To  place  its  own  calls  automatically?  How  can  you  use  a  modem 

with  a  "Princess"  phone?  Will  you  need  an  extra  interface  to  connect  the  modem  to 

your  computer  or  untl  it  just  plug  in? 


Telecommunications: 


Choosing  A  Modem 


Michael  E.  Day 
Chief  Engineer,  Edge  Technology 


There  are  a  numlier  of  (lifferenl  types  of  modems 
oil  the  market.  In  order  to  luulerstand  eacii 
modem's  capability  in  eac!i  application,  we  need  to 
break  them  down  into  different  groups. 

One  aspect  to  consider  is  the  way  the  modem 
attaches  to  the  phone  line.  There  are  three  basic 
methods: 

1 .  Acoustic  coupler:  a  modem  thai  communi- 
cates througii  a  telephone  by  sotuid. 

2.  Inductive  coupler:  a  modem  that  com- 
nnniicatcs  (in-out>h  a  telephone  by  elec- 
tromagnetic induction. 

3.  Direct  connect:  a  device  which  allows  a 
modem  to  connect  directly  to  the  phone  line 
instead  of  using  tlie  telephone  to  communicate 
through. 

The  acoustic  coupler  and  direct  connect  are 
the  most  commonly  used  methods.  The  inductive 
coupler  is  actually  a  modification  of  the  acou.stic  . 
coupler,  and  generally  still  requires  that  the  trans- 
mitter portion  of  the  modem  be  acoustically 
coupled.  The  usually  slated  advantage  of  the  in- 
ductive coupler  is  its  avoidance  of  the  distortion 
and  interference  caused  by  the  extra  iran.slation  (o 
sound  and  back  (xcuring  in  the  acoustic  coupler. 

This  is  of  litlle  help,  however,  since  the  majority 
of  problems  with  acoustic  coupling  involve  the 
transmitter  portion,  which  needs  to  be  acoustically 


coupled  anyway.  Ttie  inductive  coupler  also  has  its 
own  set  of  pnjblems  \vhich  can  often  make  il  more 
difficult  to  work  with  if  care  has  not  been  exercised 
in  its  design. 

Each  telephone  has  its  own  quirks  \vith  regaixl 
to  inductive  coupling,  and  this  can  sometimes 
make  it  difficult  lo  get  a  modem  to  work  properly. 
Also,  because  of  the  sensitivity  involved  in  properly 
picking  up  the  weak  electromagnetic  signals,  the 
inductive  cotipler  is  more  sensitive  to  stray  magnetic 
fields,  fields  generated  by  a  computer  or  terminal 
can  interfere  with  the  operation  of  the  modem. 

Portability  Of  The  Acoustic  Coupler 

The  acoustic  coupler  modem  has  been  around  for 
some  time.  The  advantage  of  the  acoustic  coupler 
is  its  portability.  It  can  be  used  with  any  telephone 
that  has  a  standard  handset  (referred  to  as  a  500 
style  phone).  This  means  that  you  are  not  limited  as 
to  the  electrical  connections  to  the  phone  line,  only 
to  the  physical  construction  of  the  phone  handset, 
which  must  111  into  the  rubber  or  plastic  "cups"  of 
the  acousdc  coupler. 

This  can  be  a  problem  if  you  have  a  princess 
or  flip  phone  or  sonic  other  style  which  does  not 
use  the  standard  5(){)  .series  handsel.  Other  prob- 
lems with  the  acoustic  coupler  are  a  result  of  the 
acoustic  coupling  itself.  Because  of  the  signal's 
conversion  from  electrical  to  iicoustic  and  back  to 


July.  1982,  Issue  26 


COMPUTEI 


123 


electrical  again,  some  amount  of  distortion  is  gen- 
erated. This  can  be  held  to  a  minimum  with  proper 
modem  design,  but  cannot  be  eliminated  entirely. 
Tlie  telephone  it.sclf'is  a  major  conlribiitcjr  to  this 
problem.  A  great  portion  of  the  distortion  can  be 
cured  simply  Iiy  replacing  the  carbon  microphone 
in  die  telephone  handset  with  a  condensor 
(capacitor)  microphone. 

The  standard  acoustic  coupler  used  to  com- 
municate over  the  telephone  is  referred  to  as  a  103 
compatible  modem.  This  is  a  full  duplex  type 
modem  -  that  is,  it  can  send  and  receive  data  at  the 
.same  time.  Because  of  the  method  used  to  encode 
and  decode  the  data  to  be  transmitted  by  this  type 
of  modem,  the  maximimi  communication  speed 
that  can  be  used  reliably  is  3()0bps  (30  characters 
per  second). 

This  limitation  is  the  result  of  many  things, 
including  the  Iwndwidth  of  the  phone  line,  the 
encoding  scheme,  and  the  signal  distortion  caused 
by  the  acoustic  coupling.  Although  it  is  possible  to 
push  the  speed  a  bit  higher,  reliabiliiv  will  suffer.  A 
very  good  modem  might  let  you  push  it  to  400  or 
450  bps,  but,  because  of  acoustic  distortion,  this  is 
about  the  maxinuim. 

Another  problem  with  the  acoustic  coupler  is 
its  limited  .sensitivity.  Most  are  not  able  to  operate 
at  a  receive  level  of  less  than  -30db  to  -36db.  This  is 
equivalent  to  a  whisper.  About  90*^  of  the  phone 
calls  placed  will  provide  a  communications  link 
allowing  a  signal  through  stronger  than  this.  There- 
fore, this  is  not  a  great  problem.  However,  the 
strength  of  the  transmitted  signal  is  of  major  im- 
portance, since  the  weaker  the  iransmillcd  signal 
is,  the  weaker  the  received  signal  at  the  other  end 
is  going  to  be.  Generally,  it  is  desirable  to  have  a 
transmitted  signal  strengtli  of  between  -6db  and  - 
lOdb,  This  is  equivalent  to  loud  talking. 

Direct  Connect  Method 

The  other  method  of  attaching  a  modem  to  the 
phtjne  line  is  the  direct  connect  method.  Here  vou 
attach  the  modem  directly  to  the  ptione  line,  rather 
than  acoustically  through  a  telcijhone  haiid.set. 
This  eliminates  the  problem  of  distortion  by  not 
going  through  the  translation  to  sound  and  back. 

There  are  many  types  of  direct  connect  mo- 
dems. The  type  that  most  computer  users  need  is 
tlie  1 03  compatible  ty]3e.  It  uses  the  .same  conversion 
scheme  to  cfimmunicate  as  the  1 03  compatible 
acoustic  coupler,  although  the  translation  to  sound 
and  back  is,  of  course,  not  necessary. 

The  main  advantages  of  the  direct  connect 
modem  are  reduced  signal  distortion  and  improved 
sensitivity,  (since  the  sound  translation  is  elimi- 
nated). Some  direct  connect  modems  are  able  to 
commtmicate  at  up  to  600bps  (60  ctiaracters  per 


second).  However,  some  reduction  in  rehability 
should  be  expected  at  these  high  speeds.  Other 
modems  are  designed  so  that  they  cannot  o|3erale 
at  speeds  above  300bps  —  in  order  to  achieve  a 
fiigher  degree  of  reliability  at  the  normal  speeds. 

Another  attractive  aspect  of  the  direct  connect 
modem  is  that  it  allows  the  computer  to  access  the 
phone  line  directly  to  answer,  and  even  make,  calls 
h\  itself.  This  cannot  easily  be  done  with  the  acoustic 
coupler  becau.se  it  gcjes  through  a  phone  which 
must  be  physicall)'  lifted  off  a  receiver  to  start 
dialing.  The  disadvantage  of  a  direct  connect 
modem,  however,  is  that  it  must  be  physically 
attached  to  the  phone  line.  This  can  be  a  problem 
with  a  business  phone  setup,  pay  phone,  etc.  As  a 
result,  the  direct  connect  method  is  usuallv  used  in 
a  fixed  location  where  the  phone  line  is  easily  at- 
tached. Often  a  phone  line  is  solely  for  the  use  of  a 
computer. 

Three  Types  Of  Direct  Connect  Modems 

The  three  main  types  of  direct  connect  modems 
are  the  "auto  answer,"  "auto  answer/manual  origi- 
nate," and  "auto  answer/auto  originate." 

An  auto  answer  modem  can  answer  calls,  but 
is  unable  to  place  any.  An  auto  answer/manual 
originate  modem  can  answer  calls  as  well  as  allowing 
you  to  manually  make  a  call  (after  which  control  is 
transferred  lo  the  modem).  Finally,  an  auto  answer/ 
auto  originate  modem  lets  the  computer  answer 
calls  automatically  as  well  as  place  them  bv  itself 
without  operator  intervention. 

While  most  acoustic  couplers  are  separate 
devices  that  attach  to  a  computer  or  terminal 
through  some  sort  of  interface  (usually  an  RS232 
serial  interface),  a  few  are  built  into  the  equipment. 
If  the  acoustic  coupler  is  to  be  purchased  as  a  sepa- 
rate device,  be  sure  to  find  out  if  the  separate 
interface  will  lie  needed  and  include  it  in  the  cost 
of  the  modem.  Often  a  computer  already  has  an 
RS232  port  available  to  which  to  attacli  the  modem. 
If  this  is  the  case,  the  additional  interface  mav  not 
be  needed. 

Direct  connect  modems  come  as  either  a  sepa- 
rate unit  that  attaches  to  the  computer,  or  as  a 
device  that  can  be  mounted  inside  the  computer.  If 
it  is  a  separate  external  unit,  the  interface  must  be 
taken  into  account,  (generally,  modems  which  are 
designed  lo  l)e  installed  inside  the  computer  provide 
their  own  interface  to  the  computer,  and  the  extra 
cost  need  not  l>e  considered. 

Although  the  final  decision  must  be  made 
according  to  your  own  needs,  a  general  rule  of 
thumb  is  that  if  you  have  no  need  for  automatic 
operations,  an  acoustic  coupler  will  probablv  serve 
best.  If,  however,  you  do  desire  automatic  functions, 
then  you  will  need  the  direct  connect  type  modem.© 


124 


COMPUTE! 


July,  1982.  bsue  26 


In  this,  the  first  of  a  two-part  series  on  the  inner  workings 
of  Atari  Graphics,  the  author  reviews  the  computer's 
sy'stem  of  screen  management  and  defines  several  impor- 
tant tenm  including  color  clock,  playfield,  mode  line, 
and  display  list.  Next  month,  the  article  concludes  with 
techniques  for  itsing  color  indirection,  a  powerful 
graphics  tool,  and  explores  the  new  GTIA  chip  in  detail. 
This  new  chip  costs  nothing  if  your  Atari  is  still  under 
warranty.  If  you  have  an  older  machine,  the  nearest 
authorized  service  center  should  be  stocking  it  by  now  and 
will  install  it  for  about  $60. 

Parti: 

Atari  Video 
Graphics  And 
The  New  GTIA 

Craig  Chamberlain 
Birminglnam,  Ml 

The  GTIA  is  an  exciting  new  graphics  chip  now 
being  shipped  in  Atari  400/800  computers.  Among 
its  special  features  are  a  sixteen  color  mode  with  a 
resolution  eight  times  better  than  the  Apple's,  and 
the  capability  of  generating  256  color  variations. 
The  GTIA  chip  provides  three  new  graphics  modes 
in  addition  to  the  normal  fourteen,  totally  different, 
full-screen  modes.  This  article  defines  a  few  terms 
relating  to  graphics,  explains  the  normal  graphics 
modes,  then  introduces  the  new  modes  provided 
by  the  GTIA. 

ANTIC  Is  A  Busy  Chip 

We  all  know  that  the  Atari  400  and  800  have 
superior  graphics  capabilities.  This  has  been 
achieved  by  designing  special  chips  to  handle  video 
display  tasks,  taking  that  burden  off  the  main 
microprocessor.  In  Atari  computers  these  special 
chips  are  known  as  ANTIC  and  CTIA. 

The  ANTIC  chip  is  actually  an  advanced 
DMA  (direct  memory  access)  controller  that  qual- 
ifies as  a  true  microprocessor.  It  has  an  instruction 
set  (mode  lines  and  "load  memory  scan"  operation), 
a  program  (the  good  'ole  display  list),  and  data 
(display  memory  and  character  sets). 

This  special  chip  is  a  rather  busy  fellow.  Its 
responsibilities  include  doing  DMA  for  the  display 
list,  the  display  data  (playfields),  the  character  set, 
and  player/missile  buffers.  Besides  that,  it  sets  the 
playfield  width,  controls  horizontal  and  vertical 


fine  scrolling,  keeps  track  of  the  vertical  position  of 
the  scan  beam,  and  handles  NMI  interrupts.  It  also 
supports  a  light  pen. 

The  GTIA:  Three  New  Modes 

The  other  chip  is  the  CTIA,  or  Computer  Televi- 
sion Interface  Adapted  integrated  circuit.  This  is 
the  chip  which  handles  all  color  and  luminance 
(brightness)  information  to  send  to  the  television 
screen.  This  is  a  complicated  process,  but  the  chip 
designers  at  Atari  got  carried  away  and  created 
whole  new  functions  which  we  know  as  the  player/ 
missile  graphics  system.  It  is  the  CTIA  which  pro- 
cesses the  horizontal  position,  size,  priority,  and 
color  of  the  players.  The  CTIA  also  watches  for 
player/playfield  collisions,  joystick  triggers,  and 
console  keys.  Like  the  ANTIC,  it  is  a  busy  chip. 

The  new  GTIA  chip  replaces  the  CTIA.  Rumor 
has  it  that  the  "G"  stands  for  George.  Apparently 
some  fellow  named  George  was  still  not  satisfied 
with  all  the  special  functions  of  the  CTIA,  and 
gave  It  the  ability  to  generate  three  totally  new 
graphics  modes.  When  you  find  oiU  what  these 
new  modes  can  do,  I  think  you  will  appreciate 
"George"  and  his  GTIA. 

The  three  new  modes  are  9,  10  and  1 1 .  The 
operating  system  and,  therefore,  Atari  BASIC, 
supports  these  new  modes.  But  before  describing 
all  the  features  of  these  new  modes,  I  want  to  define 
a  few  essential  terms  and  review  the  normal 
graphics  modes  0  through  8. 

In  order  to  fully  understand  Atari  graphics, 
one  must  have  a  solid  concept  of  how  a  television 
display  is  generated.  And  no  discussion  on  "televis- 
ion theory"  would  be  complete  without  a  definition 
of  the  "color  clock."  The  term  color  clock  derives 
from  the  fact  that  there  is  a  problem  in  measuring 
distances  on  a  television  screen.  Different  television 
sets  have  different  screen  sizes,  with  9",  13"  and 
19"  being  common  diagonal  measurements.  All 
television  sets,  however,  have  a  scanning  beam 
which  translates  a  signal  from  the  computer  into  a 
picture  on  the  screen. 

The  signal  coming  from  the  computer  contains 
two  characteristics.  It  has  a  frequency,  which  defines 
a  color,  and  it  has  an  amplitude,  which  defines  the 
luminance  of  that  color,  often  referred  to  as  the 
brightness  or  intensity.  These  qualities  of  the  com- 
puter signal  affect  the  way  in  which  the  scanning 
beam  shoots  electrons  at  the  phosphors  on  a  televi- 
sion screen.  This  electron  shooting  process  is  done 
horizontally,  one  line  at  a  time,  but  it  is  done  so 
quickly  that  it  is  not  noticeable  to  the  human  eye. 

When  drawing  a  line,  the  scanning  beam  starts 
at  the  left  edge  of  the  screen  and  proceeds  to  the  ' 
right  edge,  shooting  electrons  the  whole  time. 
Since  the  beam  has  a  finite  amount  of  time  it  can 


^tn^SsM 


ATARI  SAYS  ITS  FIRST  WORD 

WITH  A  VOICE  BOX  BY  THE  ALIEN  GROUP! 


THE  ALIEN  GROUP  has  emerged  from  the  underground,  daring  to  offer 
a  full-featured  speech  synthesis  system  that  is  flexible,  low  in  cost, 
and  needs  no -accessory  devices.  No  Interface,  Cables,  Speaker,     A 
Amp,  or  External  Power  Required!  VOICE  BOX  has  been     -^ 
designed  and  programmed  by  Atari  users  to  become  the 
integral  voiceof  a  400  or  800 computer.  Simply  plugged  into    i 
the  serial  port,  VOICE  BOX  automatically  routes  all  speech     m 
into  the  speaker  of  your  television  monitor  With  the  menu-     M 
driven  operating  system  supplied,  you'll  be  creating     fl 
original,   intelligible  speech  within   moments  after     H 
loading  disk  or  cassette.   No   lengthy  or  obscure      H 
instructions  to  wade  through.  H 

The  system  includes  a  dictionary  which  translates  typed     V 
textinto  VOICE  BOX's  phonetic  language.  Thedictionarycan     \ 
be  expanded  to  include  as  many  as  5,000  words  of  your  own    ' 
custom  vocabulary.  Unlimited  speech  can  be  produced  by 
straightforward  phonetic  definiton  at  any  time,  even  if  the    ■ 
dictionary  should  be  full. 

The  speech   routines  can  be  called  from  other  programs  for  any 
purpose  you  con  conceive.  Here  are  a  few  suggested  uses: 


J 


"  ""     '";  SOUND  EFFECTS 

'  •  Access 64 phonemesolanyof  4 pitch  levelstooddfiltered, 

contoured  sound  to  the  Atari  audio  repertoire. 

GAMES 

•  Program  aliens  to  hiss  threats,  moon  when  destroyed, 

•  Devise  weird,  non-human  tongues  for  dungeon  dwellers. 
,     ''       •  Insert  cryptic  spoken  clues  in  maze  games. 

COMPUTER  OPERATION 

•  Code  verbal  prompts  and  error  messages  that  command 
attention  and  leave  the  current  disploy  intact. 

EDUCATION 

•  Gain  an  introduction  to  the  principles  of  phonetics. 

•  Learn  touch  typing  through  spoi<;en  feedback  from  the 
keyboard. 

In  addition,  the  Rondom  Sentence  Generator  included  in  the 
operating  system,  which  prints  and  speaks  endlessly 
I  startling,  amusing,  even  poetic  combinations  of  words 

supplied  by  the  user,  helps  teoch  school  children  to  identify 
parts  of  speech  and  recognize  a  variety  of  sentence 
structures. 

A  minimum  of  16KRAM  is  required  by  theoperoting  system, 
.,_,^^  r,^w  Eitherdiskorcassetteincludesbothl6Kand32K  versions.  Try 

VOICE  BOX  VOICE  BOX  for  up  to  10  days,  and  if  it  isn't  the  finest  value 

Speech  Synthesizer  you've  ever  seen   in  a  computer  peripheral,  the  most 

challenging  and  provocative  addition  you've  ever  made  to 
your  system,  return  it  in  its  original  condition  for  a  full 
refund. 

When  ordering  specify  disk-  or  cassette-based  operating  system,  and  enclose  check  or  money-order  for  $1 69,  or  state  your 

VISA  or  AAASTERCARD  number.  Send  mail  orders  to:  THE  ALIEN  GROUP 

27  West  23rd  Street  or  telephone  orders  from 

Dept.PT-1  10  AM  to  6  PM  New  York  time 

New  York,  New  York  10010  (212)924-5546 

ALSO  AVAILABLE  AT  LEADING  COMPUTER  STORES  THROUGHOUT  THE  WORLD. 

Atari  is  a  registered  trademark  of  Warner  Communications. 


126 


COMPUTEI 


July.  1'82,  Issue  26 


spend  drawing  one  line,  the  beam  will  seemingly 
have  to  move  faster  to  cover  more  area  on  a  larger 
screen.  Thus  the  problem  of  trying  to  measure 
horizontal  distances  is  further  complicated  by  the 
fact  that  different  scanning  beams  not  only  travel 
different  amounts,  but  also  at  different  rates.  Our 
unit  of  measurement  cannot  really  be  a  distance;  it 
must  be  a  unit  of  time.  The  hint  I  gave  a  moment 


The  ANTIC  knows  how  fo 

handle  fourteen  different 

kinds  of  mode  lines. 


ago  was  that  the  scanning  beam  has  a  certain 
amount  of  time  it  can  spend  on  one  scan  line.  How 
fast  or  how  far  the  beam  travels  is  insignificant. 

Understanding  Color  Clock 

The  (act  that  our  unit  of  measurement  is  ba.scd  on 
time  explains  the  word  clock  in  the  term  color  clock. 
A  color  clock  is  the  amount  of  lime  the  computer 
needs  in  order  to  sufficiently  change  the  frequency 
of  the  signal  it  generates  so  as  to  produce  a  different 
color.  Wlial  a  mouthful!  This  is  my  own  personal 
definition;  it  has  worked  for  me,  but  some  people 
may  not  agree  with  it.  Here's  another  definition.  A 
scan  line  is  the  horizontal  path  of  the  scanning 
beam  from  the  left  edge  of  the  screen  to  the  light 
edge. 

Scan  lines  extend  horizontally  across  tlic 
screen,  but  it  takes  a  lot  of  them  stacked  vertically 
to  fill  up  the  screen  from  top  to  bottom.  Therefore, 
horizontal  resolution  is  usually  expressed  in  terms 
of  c<jlor  clocks  wliile  vertical  resolution  is  expressed 
in  scan  lines.  Of  course,  on  different  television  sets 
the  actual  lengths  will  differ,  but  the  resolution 
horizontally  to  \eriically  is  always  proportionate.  It 
turns  out  that,  on  any  screen,  one  color  clock  ap- 
pears to  be  equal  in  length  to  two  scan  lines. 

Now  we  have  to  get  even  more  technical  for  a 
moment.  The  scanning  beam  starts  at  the  upper 
left  corner  of  the  screen  and  travels  horizontally  to 
the  right.  Bv  the  time  it  hits  the  right  edge  it  has 
drawn  one  scan  line  that  is  228  color  clocks  wide. 
The  team  then  shuts  off  for  a  short  period  while  it 
retin-ns  to  the  left  edge,  only  one  scan  line  lower. 
This  period  is  called  the  "horizontal  blank"  for 
obvious  reasons.  The  beam  then  turns  on  again 
and  starts  drawing  the  next  scan  line.  This  sequence 
of  drawing  scan  lines  continues  262  times.  At  that 
point,  the  scanning  beam,  at  the  lower  right  corner 
of  the  screen,  shuts  off  and  returns  to  the  upper 


left  corner  of  the  screen  during  a  period  know  n  as 
the  (guess  what!)  "vertical  blank." 

This  whole  process  of  drawing  262  scan  lines, 
each  of  228  color  clocks,  plus  the  blanking  periods, 
constitutes  one  "frame."  The  television  draws  sixty 
(j1  these  frames  every  second,  because  your  home 
power  line  is  60  Hz  (cycles).  The  name  given  to  this 
display  method  is  "raster  scan."  The  fact  that  your 
Atari  follows  a  broadcast  standard  referred  to  as 
"NTSC"  makes  it  one  of  the  few  home  computers 
that  can  be  video-taped  without  special  ecjuipment. 

Just  because  the  scanning  beam  generates  all 
those  scan  lines  and  color  clocks  doesn't  mean  that 
the  computer  is  generating  that  much  display  data. 
Even  if  the  computer  did,  you  wouldn't  .see  the 
whole  image  since  most  television  sets  display  a 
little  less  than  200  .scan  lines  of  about  170  color 
clocks.  The  part  where  the  true  picture  exists  is 
called  the  playfleld,  and  now  it's  time  for  another 
definition. 

Ployfields  And  Mode  Lines 

The  playfield  is  the  portion  of  each  .scan  line  for 
wliich  data  read  from  memory  can  produce  colors 
anrl  luminances.  T  he  background  exists  at  the 
ends  of  each  scan  line;  the  |:)lay  field  is  in  the  middle. 
From  the  viewpoint  of  one  frame,  the  playfield 
appears  as  a  rectangular  region  which  extends  to 
the  sides  of  the  screen. 

Two  things  control  the  size  of  this  playfield 
area.  The  height  in  scan  line  is  controlled  In-  the 
display  list  as  you  will  see  in  a  moment.  Recall  that 
tlie  width  in  color  clocks  is  set  by  the  DMA  control 
register  of  the  ANTIC. 

SDMCTL   $022F         559     shadow 
DMACTL  $D400     54272      hardware 

D5  1    display  list  DMA  enable 

0  display  list  DMA  disable 

D1,D0     00  playfield  DMA  disable  (no  play  Held) 

0 1  narrow  play  field  ( 1 2  8  color  clocks) 

10  standard  playfield  ( 1 60  color  clocks) 

11  wide  playfield  (192  color  clocks) 

The  OS  screen  handler  always  uses  a  standard 
width  playfield.  The  advantage  of  the  narrow 
playfield  is  that  less  DMA  is  required,  so  programs 
execute  faster.  Unfortunately,  the  screen  handler 
routines  do  not  work  properly  when  the  playfield 
width  is  other  than  the  standard.  The  wide  playfield 
generates  more  data  than  the  television  can  display; 
its  uses  are  rather  limited.  It's  even  possible  to  turn 
off  playfield  completely,  in  which  case  ANTIC  fills 
the  screen  with  scan  lines  of  the  background  color. 
As  will  be  shown  in  a  moment,  the  playfield  also 
requires  a  "display  list"  so  bit  five  must  be  set  for 
any  playfield  type  to  be  generated. 

Remember  that  a  byte  is  made  up  of  eight 


Orderline: 
(303)  427-9036 
Free  Catalog 

available  upon  request 


ACR 


A  Point  of  Sale 

•  350  Inventory  Items 

•  Purchase  Orders 

•  Report  Generator 

•  Receiving  Records 

1  or  2  Drives 
32K  {Disk) 

$169.95 

Dealer  Inquiries 
Invited 

exclusively  distributed  by: 

HCMS 

3489 W.  72nd.  Avenue 
Westminster,  CO  80030 


Another  First! 


X 


1 


STOP 


SOFTWARE 
STORES 

''      for  the  ATARI  400/BOO* 
PRESENTS 


for  the  ATARI  400/800* 

Use  by  itself  or  add  to  existing 
memory  for  up  to  96K  RAM 

A  Simple  Peek  &  Poke 

Puts  Your  ATARI  in  a  League 

By  Itself 

manufactured  by; 

MaxRam  Datawave  Corporation 

•ATARI  is  a  registered  trademark  of  ATARI,  Inc. 


Copycat 

High-  Performance 
Disk  Copier 

Handles  non-standard  formats 

•  All  Mactiine  Languages 

•  Super-Fast  Execution 

•  Supports  1  or  2  drives 


$29.95 


Cassette 

Checkbook 

Program 

Balancer  Program 

•  Multiple  Accounts 
•  Creative  Use  ot  Graphics 


$14.95 


S2.00  Shipping  and  Handling. 

Please  add  S1.50  for  COD. 

Colorado  residents,  add  6.5%  tax. 

VISA  and  MC  accepted 


Send  for  our  FREE 
Software  Catalog  for  the 
Atari  400/800  Computer 

LARGE  SELECTION 
SAVE  A  MINIMUM  OF  10% 
ALL  PROGRAMS  PRETESTED 
FREESHPPING 
MOST  MAJOR  BRANDS 

^ARDOm 

llliC^OWA^E 


P.OBOX    1704 
BREA,CA   92621 

(714)671-1093 


128 


COMPUTEI 


July.  1982,  Issue  26 


binary  "bits."  If  play  field  and  display  list  DMA  is 
enabled,  bits  may  be  read  from  the  computer  mem- 
ory during  the  course  of  one  scan  lino.  'The  bit 
pattern  determines  the  frequency  and  intensity 
changes  of  the  scanning  beam,  with  the  result 
being  different  color/luminances.  Ihe  same  bit 
pattern  may  be  repeated  for  several  scan  lines. 
And  the  bit  pattern  can  be  interpreted  in  different 
ways.  This  leads  us  to  yet  another  definition. 

A  mode  line  is  a  contiguous  group  of  scan 
Unas  for  which  display  memory  is  read  only  once. 

There  are  two  main  types  of  mocle  lines.  In 
direct  memory  map  modes,  the  bit  pattern  produces 
the  same  image  on  each  scan  line.  Text  modes  are 
a  more  complicatetl  mode  type  which  use  a  char- 
acter set. 

The  ANTIC  knows  how  to  handle  fourteen 
different  kinds  of  mode  lines.  Each  mode  line 
corresponds  to  a  different  method  for  interpreting 
a  liit  pattern.  A  full  screen  graphics  mode  is  actually 
just  a  .series  of  identical  mode  lines. 

The  display  list  is  merely  a  sequence  of  bytes 
in  memory  that,  among  other  things,  tells  ANTIC 
the  proper  sequence  of  mode  lines  tor  one  screen. 

Whenever  the  screen  is  opened  (accomplished 
in  Atari  BASIC  with  the  GRAPHICS  statement), 
the  screen  handler  estabhshes  a  display  list  of  many 
mode  lines  to  produce  a  .screen  of  the  desired 
mode.  Modes  can  be  mixed  by  maiuially  ciianging 
the  display  list.  Display  li.sts  produced  bv  the  .screen 
handler  always  contain  the  proper  number  of 
mode  lines  for  exactly  192  scan  lines  of  play  field. 
Altering  the  display  list  can  affect  the  total  number 
of  scan  lines,  which  is  how  the  veitical  size  of  the 
playf'ield  is  controlled. 

The  display  list  also  has  other  functions,  such 
as  control  of  fine  scrolling,  horizontal  blank 
interrupts,  and  loading  the  memory  scan  counter 
of  the  ANTIC  ,so  it  knows  where  to  start  reading 
memory. 

A  mode  line  divided  into  several  parts  forms 
jiixels,  which  are  single  plotting  points  somewhere 
within  the  playfield  area.  A  pixel  s  vertical  resolu- 
tion is  the  same  as  the  mode  line  in  which  it  is  dis- 
played, so  there  can  be  just  as  many  pixels  vertically 
as  mode  lines  in  the  display  list.  The  nimiber  of 
color  clocks  over  which  one  pixel  is  spread  is  also 
determined  by  the  mode  line.  Here  is  a  little  chart 
to  show  you  the  pixel  size  for  the  primary  mapping 
modes: 

MODE      COLOR       SCAN      RESOLUTION 
CLOCKS      LINES    (full/split screens) 

3  4  8  40  by  24/20 

4,5  2  4  80  by  48/40 

6,7  1  2  160  by  96/80 

Note  that  each  time  the  width  of  a  pixel  is 


reduced,  its  height  also  decreases,  so  a  single  pixel 
appears  to  be  square  in  shape  regardless  of  the 
graphics  mode. 

Some  Observations  About  Memoiy 

Now  to  talk  about  memory.  In  the  one-color  modes, 
one  pixel  is  represented  in  memory  by  one  bit.  If 
the  bit  is  on,  playfield  zero  shows.  If  the  bit  is  off, 
the  backgroimd  shows.  Modes  4  and  (i  are  the  one- 
color  modes.  For  more  color,  modes  3,  5  and  7 
allow  three  colors.  The  tradeoff  is  lliat  a  single  bit 
is  no  longer  sufficient.  Two  bits,  a  pair,  are  required. 
The  total  value  of  the  two  bits  selects  either  one  of 
three  playfields  or  the  backgroimd: 

BIT  PATTERN      COLOR        PLAYFIELD  TYPE 


00 

0 

background 

01 

1 

playfield  zero 

10 

2 

playfield  one 

11 

3 

playfield  two 

Playfield  zero  is  the  same  thing  as  COLOR  I  in 
Atari  BASIC.  Playfield  one  is  really  COLOR  2,  and 
so  on,  with  COLOR  0  being  the  background. 

Although  modes  4  and  5  both  have  the  same 
resolution,  or  pixel  size  on  the  screen,  mode  5  will 
recjuire  twice  as  much  memory.  In  the  lower  resolu- 
tion modes  which  require  little  memory  in  the  first 
place,  the  additional  memory  needed  is  rather 
insignificant.  You  might  have  noticed  that  mode  3 
had  no  single  color  counterpart.  Consider  that  in  a 
48 K  system  it  is  possible  to  have  about  1 :")()  different 
mode  3  screens  in  memory  simidtaneously.  The 
chip  designers  probably  decided  it  wasn't  worth 
the  effort  or  memory  savings  to  provide  a  one 
color  mode  with  such  low  resolution. 

Therefore,  the  size  of  a  pixel  on  the  screen  is 
determined  by  two  things:  how  many  scan  lines 
high,  and  how  many  color  clocks  wide.  The  amount 
of  memory  required  for  a  mode  is  also  determined 
by  two  things:  liow  many  .separate  pixels  to  one 
mode  line,  and  how  many  color  possibilities  per 
pixel.  The  only  real  connectioii  between  pixel  size 
on  the  screen  and  size  in  memory  is  that  bigger 
pixels  fill  up  a  screen  taster,  so  there  are  fewer  of 
them,  and  less  memory  is  needed. 

N<nv,  three  colors  means  two  bits  must  be 
used.  Does  that  mean  we  are  always  stuck  with  only 
three  colors  which  can't  be  changed?  No.  The 
CTIA  is  capable  of  generating  128  color/luminance 
variations.  It  can  produce  sixteen  dit  terent  colors, 
each  in  eight  different  degrees  of  luminance.  But 
128  possibilities  means  .seven  bits  would  be  required, 
and,  in  most  cases,  seven  bits  per  pixel  is  simply  not 
feasible.  There  is  a  limit  to  how  much  memory  can 
be  devoted  to  a  screen.  The  solution  to  this  problem 
is  a  sort  of  compromise,  but  it  also  presents  some 
powerful  and  flexible  advantages,  too.  The  solution 
is  to  use  color  indirection.  C 


-rue  B^^"^ 


OUB 


AtO° 


TO 


dav 


ppi-i: 


seND 

THE 


OUB 


Tbee 

OB, 


SaTALO°9-31T* 


CASDUP 

This  program  allows  you 
to  make  backup  copies 
of  those  expensive 
machine  language 
programs  you  bought. 

Single  or  multi-file 
copies  on  any 
ATARI  400/800 

Cassette  only  $20.00 
(California  residents  add 
6%  tax) 

Send  check  or  money 
order  to; 

VERVAN  Software 
10072  Balsa  Street 
Cucamonga,  Calif.  91730 


AUPsriPiri 


KW/  %IRSTRIK 


-    FOR  THE  ATARI  400/800  16K 


•  INTRODUCING  THE  NEW  ARCADE-STYLE  GAME  FOR  ATARI  COMPUTERS  ' 

•  SUPERB  FINE  SCROLLING  GRAPHICS  AND  DAZZLING  ARRAY  OF  COLOUR- 

•  FIGHT  YOUR  WAY  THROUGH  CAVERNS  AND  TUNNELSWITH  ATTACKING  , 
MISSILES.  FUEL  AND  AMMO  DUMPS  TO  CONTEND  WITH  ' 

•  100%  MACHINE  CODE  PROGRAM  FOR  ONE  OR  TWO  PLAYERS 

•  MULTIPLE  SKILL  LEVELS. 

AVAILABLE  NOW  DIRECT  ON  1 6K  CASSETTE  :  $39  9S  PLUS  S5  AIRMAIL 
POSTAGE.  SEND  YOUR  VISA  MASTERCARD  NUMBER  TODAY! 
ATARI  IS   A  T.M.  OF  ATARI  INC. 

ENGUSH  SOFTWARE  COMPANY 

DEPTX.  50  NEWTON  STREET.  PICCADILLY,  MANCHESTER  Ml  2EA,ENGLAND,  U.K.  Td:  061-236  7259  j 


130 


COMPUTE! 


July.  1982,  Issue  26 


All  About 
PET/CBM 
Character  Sets 


Louis  F.  Sander 
Pittsburgh,  PA 


Commodore's  unique  assortment  ol  graphics  char- 
acters, combined  with  their  niunerous  ROM  sets 
and  keyboard  configurations,  make  the  various 
PET  and  CBM  character  sets  maddeningly  hard  to 
comprehend.  Occasional  inaccuracies  in  published 
documentation  have  contused  the  situation  even 
more.  But  as  of  today,  the  mystery  is  over-  this 
article  describes  all  the  PE  I7CBM  character  sets  in 
specific  detail,  and  shows  how  ihey  relate  to  each 
other  and  to  the  standaicl  A.SCIII  character  set  used 
by  many  other  manufacturers.  Such  inlbrmation 
will  be  useful  to  any  PET/CBM  owner  wanting  to 
get  past  the  beginning  stages  of  programming,  and 
will  be  invaluable  lo  anyone  using  the  IEEE  bus  or 
the  user  port  to  communicate  with  a  non-Commo- 
dore device. 

First,  some  definitions.  Many  computer  devices 
can  display  a  group  of  symbols,  or  characters,  on 
pa]5er  or  on  a  CRT.  "fhe  symbols  so  dis|jlayed  are 
called  printing  characters,  and  they  consist  of  ieltcrs, 
numbers,  punctuation  marks,  special  chaiatlers, 
etc. 

Within  a  given  piece  of  hardware,  each  char- 
acter is  represented  by  a  pattern  of  hits,  which  can 
be  stored,  manipulated,  and  transmitted  elccLri'- 
cally.  The  binary  numbers  corresponding  to  these 
bit  patterns  are  called  character  codes.  In  the  PET 
ancl  CBM,  all  character  codes  are  8-bit  binary 
mnnbers,  and  they  are  usually  referred  to  by  their 
decimal  equivalents. 

For  example,  ihe  code  for  a  PRINTed  asterisk 
(*)  is  0010  101 U  binary,  or  42  decimal.  Eight  bits 
allow  256  different  codes,  which  can  be  represented 
as  decimal  numbers  in  the  range  0-255  inclusive.  A 
given  code  can  represenl  different  characters  in 
different  machines,  or  even  within  one  machine, 
depending  on  context.  In  the  PET/CB.M,  for 
example,  different  codes  ai'e  used  to  put  a  given 
character  on  the  .screen  bv  PRI  N'l'ing  or  by 
POKEing. 

Some  character  codes  do  not  represent  a />r(»/rt/ 
character  at  all.  Instead,  the)-  instruct  the  hardware 
to  take  a  certain  non-printing  action.  The.se  codes 


are  called  control  codes  or  control  characters. 
RETURN,  CURSOR  DOWN,  and  RVS  are  some 
familiar  PET/CBM  control  actions.  If  you  have 
ever  made  yoiu"  machine  do  a  RETURN  by  exe- 
cuting the  statement  PRINT  CHRS(13),  you  have 
tised  a  control  code  (the  13)  to  generate  a  control 
action  (the  RETURN). 

A  device's  character  set  is  its  complete  set  of 
printing  and  control  characters,  along  with  iheir 
associated  codes.  Many  computer  devices  use  a 
standard  character  set  called  ASCII,  pronounced 
ask-ee,  which  stands  for  American  Standartl  Code 
for  Information  Interchange. 

.4SCII  and  the  PET/CBM  character  sets  have 
quite  a  bit  in  common,  but  there  are  large  differ- 
ences between  them  which  have  lo  be  resolved 
whenever  a  PET/CBM  is  lo  tronmiunicate  with  an 
ASCII  device.  The  information  in  this  article  will 
allow  you  lo  resolve  these  differences  quickly  and 
accurately  in  your  own  programs. 

The  Printed  Set 

Now  let's  look  in  depth  at  the  PET/CBM  character 
.sets.  To  keep  things  simple,  we'll  first  investigate 
the  printed  character  set ,  or  the  complete  set  of  sym- 
bols that  PET/CBM  can  displav  on  its  screen.  The 
Character  Set  Demo  program  will  allow  us  to  do 
just  ihat.  1  ype  ii  in  and  RUN  it  light  now,  being 
sure  to  include  ihe  semicolon  at  the  end  of  line 
210.  If  you  have  an  80-column  machine,  you  need 
to  subsdtute  line  310  for  line  200. 

If  everything  has  been  entered  properly,  you'll 
see  256  evenly-spaced  characters  on  the  screen. 
You'll  also  sec  ihe  notation  "59468=  12"  (or  14), 
indicating  the  current  conienls  of  memory  location 
59468.  Press  any  key  several  times,  and  observe 
that  the  notation  alternates  between  12  and  14, 
and,  as  it  does,  some  of  the  displayed  characters 
alternate  as  well.  .'\s  you  pre.ss  a  key,  the  demo 
program  is  changing  the  conienls  of  59468,  and 
PET/CBM  is  changing  certain  printed  characters 
as  that  happens.  No  character  codes  are  being 
altered  at  all. 

We  are  demoirstrating  thai  ever\  PE  IVCBM 
has  two  sets  of  ]>riniing  characters.  A  given  character 
code  will  produce  characters  from  one  set  or  the 
other,  depending  on  a  number  POKEd  into  59468. 
A  12  in  that  location  produces  what  is  often  called 
the  "standard"  set  of  printing  characters.  It  is  the 
same  in  all  PE'l/CBMs,  and  we  will  call  it  Character 
Set  S,  for  "standard."  POKEing  59468  with  a  14 
produces  what  is  often  called  the  "alternate"  char- 
acter set.  This  nomenclaiine  is  ambiguous,  because 
there  are  two  different  alternate  character  sets. 
Which  one  you  have  depends  on  the  ROM  set 
installed  in  your  machine.  In  lliis  article,  we'll  call 
the  alternate  character  set  installed  in  the  Original 


"Probably  the  best- 
documented  programs  I've 
seen  for  PETICBM. " 

Robert  Baker 
Microcomputing 
Septemtier  1981 


PET/CBM  & 
utilities  &  Games 


"The  strongest  points  of  this 
system  are  its  unsurpassed 
documentation  and  its 

f  human  engineering. " 
Ralpti  Bressler.  Ttie  Paper 
■  Nov/Dec.  1981 


GAMES  FOR  ViC 

Skier  Thrill  to  downhill  skiing,  using  your  joystick  to  hit 
flags  and  avoid  obstacles.  Great  graphics.  3  levels  of  dif- 
ficulty.   $17.95 

Maze  of  Mikor  Adventure-like  game  with  stunning 
graphics  challenges  you  to  steal  the  Warlock's  gold  as 
you  evade  the  demon.   $17.95 

Tank  Wars  Match  your  wits  against  the  evasive  enemy, 
maneuver  around  obstacles  and  avoid  mines.  $17.95 

Victrek  Graphics  and  sound  add  to  the  excitement  as 
you  scan  galactic  maps,  maneuver  through  star  bases, 
and  battle  klingons.  Enhanced  version  included  for8K 
VIC.  $17.95 

Pinball  Score  points  with  flippers  through  bumpers  and 
alleys.  This  game  is  the  real  thing.  $15.95 

Simon  Four  squares  light  and  sound  at  random.  Then 
you  imitate  the  sequence.  It  gets  tougher  as  you  get 
better.   $15.95 

Fuel  Pirates  Protect  your  stock  of  atomic  fuel  from 
raiding  pirates  using  your  particle  cannon.  $15.95 

Lazer  Blitz  Terrific  graphics  as  you  destroy  enemy  air- 
craft from  your  flying  saucer.  $17.95 

Pak  Bomber  is  dropping  bombs  that  you  must  catch. 
Great  challenge  for  eye-to-hand  coordination.  $15.95 

NEW  FOR  5K  VIC  20! 

Tank  Trap  You're  challenged  to  protect  your  citizens. 

4  exciting  levels,  each  tougher  than  the  one  before. 

$17.95. 

Concentration  Test  your  recall  skills,  when  you  try  to 

remember  what  you  saw  beneath  the  block,  and  match 

it.  $15.95. 

Dam  Bomber  You  must  break  the  dam  while  under 

cannon  fire.  $15.95. 

VIC  FORTH  Full  FigFORTH  implementation  with 

compiler,  interpreter  and  complete  editor.  Runs  on 

standard  VIC  20  with  5K.  $59.95  on  cartridge. 

HESMON  Machine  language  monitor.  Contains  50% 

more  commands  than  Commodore's.  $39.95  on 

cartridge. 

Turtle  Graphics  Based  on  LOGO.  Perfect  for  learning 

computer  programming.  Great  for  kids.  Very  versatile 

$39.95  on  cartridge. 

VIC-Rller  Word  processing.  $39.95  on  cartridge. 


SPECfAL  ANNOUNCEMENT 

TO  OUR  CUSTOMERS  AND 

DEALERS 

HES  has  relocated  to  the  San  Fran- 
cisco Bay  Area  and  is  now  a  division 
of  USI  International.  We  now  have 
greater  resources  to  provide  you  wth 
excellent  software  on  cartridge, 
cassette,  or  diskette  in  superior  quali- 
ty packaging. 

Watch  for  more  exciting  products 
from  HES. 


UTILITIES  FOR  PET  &  VIC 

6502  ASSEMBLER  PACKAGE 

HESBAL  is  a  1-or  2-pass  Assembler  using  standard 
MOS  mnemonics  and  operand  formats,  has  pseudo- 
opcodes  and  over  25  error  messages.  HESEDIT  is  a  full 
screen  text  editor  for  use  with  HESBAL  or  alone. 
Assembler  package  runs  on  PET  or  VIC  with  1  cassette 
and  minimum  8K,  (specify  PET  or  VIC).  $23.95  on 
cassette,  $26.95  on  diskette. 

HESCOn/l  transfers  data  and  programs  bidirectionally 
between  PETs,  VICs,  or  a  PET  and  VIC  at  3  times  the 
speed  of  the  disk.  Set  up  VIC  as  a  terminal  to  PET  and 
create  games  for  2  players.  Or  use  VIC  as  a  peripheral  to 
PET  for  hi-res  graphics  and  sound.  Only  $49.95  on 
cassette,  $52.95  on  diskette. 

HESCOUNT  monitors  BASIC  program's  execution  and 
accumulates  data.  Essential  for  debugging  and  op- 
timization. Discover  how  many  times  your  program 
looped,  and  when  IF  statements  were  true  or  false.  Fast 
execution.  Runs  on  PET  or  VIC.  On  cassette  $23.95.  On 
diskette  $26.95. 

HESCAT  Complete  hi-speed  diskette  cataloging  system. 
Five  programs  let  you  sort  names,  print  reports  3  ways, 
and  locate  file  names  in  memory  or  on  disk,  and  much 
more.  Works  with  any  PET/CBM,  16K  and  dual  drives. 
$39.95. 

HESLISTER  takes  complex  BASIC  programs  and  prints 
(to  screen  or  printer)  in  an  easily  understood  manner. 
Lets  you  analyze  BASIC  programs  to  alter  or  debug 
code.  Works  on  any  PET/CBM  and  1  disk  drive.  $23.95. 
HESPLOT  Very  fast  hi-res  graphics  subroutines  for  VIC. 
Includes  line  drawing  routines.  With  8K  VIC  plot  within 
field  of  176  X  160.  On  cassette  $17.95 

All  products  available  at  your  dealer  or  directly  from  HES. 

Add  $2  postage.  Calif,  res.  add  6%  sales  tax. 

We  accept  VISA  and  MasterCard.  Dealer  inquiries  invited. 

PET,  CBM,  and  VIC  are  trademarks  of  Commodore. 


Human  engineered  Softuiore 

71  Pork  Lone  •  Brisbone,  Cfi  94005 

(415)468-4110 


Div.  USI  InternQtioriol 


Send  today  for  your  FREE  CATALOG 
Of  VIC  and  PET/CBM  Software 


Name 

Street 


City. 


State. 


-Zip. 


Mail  to  Human  Engineered  Software 

71  Park  Lane  •  Brisbane,  CA  94005 


I 
I 
I 
I 
I 
I 
I 
I 
I 


132 


COMPUTEI 


July.  1982.  Issue  26 


GO 
O 

H 
LLI 

D_ 

(£ 

o 

L. 

CO 

H 
LU 

cn 
tr 

LU 

O 
< 

a: 

< 

X 

a 

LU 

)^ 

o 

a. 

LJJ 
Lii 
OC 
O 
CO 


LU 
_l 
CD 
< 


.5  ^ 

<j  ■— 

S  -5 

S!  i 

«  I 

h.  *? 

01  o 
u  — 

2  To 

in 

o  ■" 

C  CO 

0)  CO 

E  i^ 

3  O 
o  a. 

9 

OD  < 


CD  5 

Si 

CM  O! 

«  I 

a,  1— 

c  c 

U  00 


CO 

CJ> 
LO 


so 
l-> 
tr> 
CO 
CO 
(D 
^> 

CM 

n 

v> 

c 
o 


o 

o 
< 


-  e 


T3  C 

(O  — 

£  CM 

ra  CD 

S  lo 

O 

x:  LU 

u>  ^ 

o 

0. 


U) 


-  B   ■  n  ■  i^i; 

■■  I     M  IM   liK  m 
•"I    H  H  n  li 


i^  .";>:  M  s;  lu  ;y  v:  n 
M  ^  n  Ki  i.  sJt  in  e 


uj  n-  m  >j5  r---  m  cri  o  ^  oj  co  ti-  id  -xi  r^-  co  <?■■ 

Q    OJ    W    OJ    OJ    CiJ    OJ    CO    0-.1    CO    0?    CJ    «    rt    o    fO    CO 

q:  OJ  OS   cij  OJ  cij  OJ  OJ  OJ  oj  cu  ca  fy  co  oj  cu  cu 


iifSii;ssH""Bii  ■■  farjiEii'*- 


O   -H   Ca   CO    Tt   in    'vD   r--    03    cr-.   m    »-<   Ol    fO   ■*    ITj 

CO  Ol  CO  cu  OJ  OJ  cts  OJ  cu  OJ  oj  oj  CO  cu  cu  OJ 


»  II  U  a  II  II  IK  11  »  Si  K  M  a  U   GH  li?  B 

iij  OJ  CO  ■*  in  '■£!  f-.  CO  CTh  CD  -«  OJ  c-1  'T  in  m3  r^ 
^lC^c^(J>o^(^o^c^(^'C^(S)CD©el(S'ecD 
^  ^  rt  «-<  rt  ,-1  ^  ^  ^  OJ  CO  OJ  cu  cu  CO  CO  cu 


■  GiiiiJBKeseiEaauriiSBia^ 

00  ix.  m  «  OJ  CO  tf  L^^  ^n  N  CO  >J^  ®  "  cu  CO 

O  Q  »-<  T-i  tH  T-t  tm  ^^  1— I  iH  T-«  tH  OJ  cu  OJ  CO 

cu  CO  cu  cu  OJ  CO  OJ  cu  OJ  cu  OJ  OJ  Ol  OJ  OJ  cu 


<  ■33!3cas^aiaa»aKi]BEi 

c/>BaaiIBB3SS^aia!ii3SE3K:aiW3ii9 


UJ:       Q      irt      fij      C.^1       tj-      HI      '■0      f^-      CO       ff-       iSl       •- 


OJ  CO  t  in 
r-  r--  r--  ^. 


siasiissiiBsiasianicaDiaa 
sasQsssniaasiiaBtcaDiaa 
sassBSCsaiBSiiiasiiiaisccigDiBa 

>jj  !■■-  CO  !?■.  o  —  OJ  CO  -t  uo  ^D  r-.  CO  a-  fii  -■ 
r-  f-v  rv  r-.  ©  o;  co  oj  os  co  co  co  03  m  Ci  c^ 


'"    cc  0^  ra  '^  cu  CO  "«■  ij's  '.ri  r^-  ©  cr^  o  --i  cu  0",i        't  u";  yo  !■■-  OD  ff'i  cs  ^  oj  co  ■*  in  ys  r^-  ©  on 
o   OJ  cu  CO  CO  CO  CO  CO  CO  o:j  co  co  co  •*  *  •*  "tf-       t  *  t  t  -s-  *  u'l  in  wi  in  yo  iri  m  in  in  in 


o 


o 
< 


w 


I  I 


H  h  T  .. 
H  h  -r  — . 
H     h  -r  _ 


-  -  I     I      I    \ 

-  -  1     I       I   \ 

-.-II    in 


ti!  1J5  rv  03  Cf.  ®  --I  OJ  m  t  in  ■JO  N  CO  cr.  o  ■-H       cu  co  •*  in  yj  r-  co  i^J-'  s  rl  w  ffl  ?;  K  iR  t; 

oCTi'T'O'.    0'.<SG)iS)GiG'OC3C;i(S'S--i'-'  T-i^r^^— i^T-i-rtCUfUCUCOCUOJCyW 


o 
< 


I       1^    .Q     I..I    XJ     "iJ    '-K     CI    -^    --^    ■'^    -ii    --^      1=     P     o  d     T 

<     la:£LUCiuuLU3i'-''-.'ii:-JE:::o        clg 

M      I    «    -    I      I     !        I    _  -     r  -'    -.    J  x''    X  U         r"   • 

LU     tf    ij-)    ijj    K    03    CTi    ©    »-i    cu    CO    '^    no    'Jj    !■■-    W    Cf' 
^     v£i    ij3    '.jS    kjj    yli    ^0    N    N    N    T--    l'-    r--    P-    T--    r-    f- 


i-  W  +■'  3  >  3  X  :?■  w  +  ia»  "~  S?  SS 

i:  LC(  H  r:  >  3  X  >  f'j  -+•  *»  —  i¥  SS 

!»■_  ^-xo<--*4-**—  vr 

Q  ^  OJ  CO  t^  in  ^JJ  rv  CO  c^  C3  T-i  cu  CO  *  m 

OD    OD    CO    ro    0:>    OD    CO    OD    CO    CO    >Ti    Cfi    cr.    0^  C^    0^ 


<4      <U 

<       CO      -" 

c 


=    #  » 


<j5    - 


*  + 

*  + 

*  + 


\ 


m  cu  CD  *  uo  '-xi  Fv  o;i  ai  ®  -^  cu  ('f   ■*  in  'i  r^ 
g  CO  CO  iro  0"i  CO  OD  od  od  •*•  "t  ■*  ^i"  ■*'*•'*■  ■* 


CD    -rt    OJ    CD    ■V    \ll    '■D    N    00    CT'     ••     "">   V     II     -^    C-' 

Gi  <-<  OJ  OD  ■*  \rt  md  iv  CO  tr    ■■   ■•>  v   ii   '^  O" 
ffl  T-<  OJ  CD  >*  uo  'i  r--  S)  ffi   "    '"  V-   II   "^  ^■ 

<JJff^Gi«-iCUCO'i-lJ'>'J5r^O50^®»^OJfO 

tj-  -s-  IT!  in  in  m  UT  if'i  if"<  in  lo  in  ^0  *D  y)  ^ 


g     CSCCCCIC.ICiUJLlUXi-' 

<   fa   iTj  js    u  T?   '1  ■*    en  -j;  •-• 
t/1   c9a:cciLiCiUJU-i^xi-H 


_j  e:  z  o 

.-"     E     P     o 

_i  e:  X  ci 


0.  cj  pi  01  t-  n  >  3  X  >  r-j  ^ 

iX.    T    ^     i.'i    ■»-•     3     ;:•     3     X     ?»    ru    L_i 

Cl    Q    Ct    Li'i    h-    ZI'    ;>    3    X    >-    [~J    1-1 


^      l 


Ul  ©  »-»  CU  CO  t  in  43  r-  co  o^  o  ^  cu  co  ■fl-  u'j 


o 

0. 


\ri    r^    CO    C^    C3    '-I    OJ    OD    V    m    '■£1    N    CO    0>i    ®    -^ 

„„rt^cjojojojojaicuojfoojcoco 


BRTTERiES 

11  H_ji   I  Ji  It" i  I  village  by  the  grange,  71  mccaul  St.  (f6)  toronto  m5t  2x1     telephone  596-1 405 

ARBITER  1.4  MULTI-USER  DISK  SYSTEM  FOR  COMMODORE  4.0  COMPUTERS 

OVER  THREE  HUNDRED  IN  USE  ACROSS  ONTARIO 
Since  September  1981  BATTERIES  INCLUDED  has  been  Installing  the  ARBITER  system  in  classrooms  of  Commodore  BASIC  4.0 
computers.  The  computers  are  connected  to  CBM  Disk  Drives  and  printers.  All  users  have  access  to  all  disk  drives  and  primers  plus  a  host  of 
commands  to  make  this  system  configuration  really  usable! 

THE  ARBITER  1 ,4  SYSTEM  IS  READY  TO  GO! 
FEATURES 

1)  Easy  installation. 

2)  Uses  no  RAIW  or  Utility  Sockets. 

3)  Up  to  32  computers  in  one  system. 

4)  System  self  initializes  on  power  up. 

5)  Operation  is  completely  transparent  to  the  user. 

6)  Extended  commands  allow  a  friendly  multi-user  environment. 

7)  System  design  virtually  eliminates  interleaved  printer  output. 
SPECIAL  COMMANDS 

(((8-     Allows  students  to  protect  files  with  a  five  character  password.  A  three  character  user  ID  is  forced  into  the  file  name. 

1"  L -      Allows  the  students  to  load  protected  files  if  the  password  code  is  known . 

LISTC-Used  to  produce  program  listings  with  a  Commodore  pnnter.  Clumsy  OPEN,  CMD,  LIST,  PRINT*.  CLOSE  sequence  not  needed.  It  over- 
comes the  listing  problems  found  on  other  multi-user  hardware  systems. 

LISTP-^  Used  to  get  program  listings  on  systems  which  have  an  ASCII  printer  The  cursor  control  characters  are  expanded  and  displayed  in  brackets, 
e.g   <home> 

ALL  FILE  TYPES  ARE  SUPPORTED  -  During  relative  or  sequential  file  access  a  delay  has  been  built  in  so  the  computer  will  retain  control  of  the  system 

until  the  file  is  closed. 

TEACHER  UTILITY  -  A  utility  is  supplied  on  disk  to  allow  the  teacher  to  produce  a  hardcopy  listing  and  output  from  any  of  the  protected  or  unprotected 

files  selected.  Once  the  htes  are  chosen  from  the  disk  directory  the  teacher  may  do  other  tasks  while  the  ]ob  is  completed. 

IF  YOUR  CLASSROOM  WAS  DESIGNED  TO  TEACH  COMPUTER  LITERACY  OR 

STRUCTURED  BASIC  THEN  THIS  SYSTEM  WAS  DESIGNED  FOR  YOU. 

Arbiter  and  Arbiter  1 .4  are  copyrights  of  Batteries  Included. 


JUST  PLUG  IT  IN 

•  No  soldering  •  No  messy  wires 

SOFTWARE 
SELECTABLE 

1 .  Software  select  one  of  two 
operating  systems. 
(BASIC  2.0/BASIC4,0) 

2.  Software  select  utility  ROfvls 
at  conflicting  addresses. 


M50 


00 


Master  Charge  and 
VISA  accepted. 


BATTERIES 
inCLUDED 


For  24  Pin  ROM  Machines  Only. 


Village  by  the  Grange 
71  McCaul  Street 
Toronto,  Ontario 
Canada  M5T  2X1 

(416)596-1405 


There  are  over  500  reasons  to 
own  this  reference  encyclopedia. 

Here's  one  of  them. 


Eff' 


icti^ 


BA5 


IC 


pro9' 


Dealer  inquiries 
are  invited. 


"Your  book  is  EXCELLENT!" 


JIM  STRASMA, 

From  3  letter  to  the  author. 


A  COMPUTE!  Books  Publication 
In  conjunction  with  Level  Limited. 


Programming  The  PET/CBM 


by  Raeto  Collin  West 


The  book  described  by  Jim  Butterfield  as 


''... unquestionably  the  most  comprehensive 
and  accurate  reference  I  have  seen  to  date..." 

The  Reference  Encyclopedia  for  Commodore  2000, 3000, 4000,  and  8000  series  computers  and  peripherals. 


Here'sjust  a  sample  of  reviewer  and  reader  reaction: 
From  reviewers: 

Educational  Computing  Review  by  Stephen  Potts 
"Of  all  the  books  I  have  read  on  the  PET  this  book  Programming 
the  PET/CBM  by  Raeto  West  must  rank  as  one  of  the  most 
comprehensive  and  readable  accounts  on  the  PET  that  I  have  ever 
had  the  pleasure  to  see... 

"If  you  wish  to  get  more  from  your  PET  than  arcade  games 
and  simple  teaching  programs  then  this  book  is  a  must  for  your 
bookshelf  It  does  not  matter  vi/hether  you  run  on  BASIC  I .  BASIC 
2,  or  BASIC  4  since  all  routines  are  supplied  with  addresses  and 
changes  to  make  them  run  on  any  machines  wherever  possible... 

"...this  book,  with  its  lucid  explanations  of  the  PET,  its  useful 
routines  and  programming  hints,  is  an  essential  purchase." 

IPUG  Magazine  Review  (British  PET  User  Group)  by  Ron  Geere 
"This  publication  represents  over  a  year's  intensive  research  ...  and 
the  resulting  product  is  a  valuable  work  of  reference.  A  tremendous 
amount  of  useful  information  has  been  packed  in  this  500+  page 
work  at  which  I  was  so  over-awed  that  I  did  not  know  how  to 


start  this  review  at  first... 

'This  book  is  a  must  for  every  CBiVl/PET  user," 

From  readers; 

"...a  book  the  average  to  advanced  user  cannot  afford  not  to 
possess..." 

"My  copy  of  your  'Progrsmming  the  PET/CBM  has  been  in  dally 
use  for  nearly  a  month  and  I  am  finding  it  totally  addictive, 
suffering  severe  withdrawal  symptoms  whenever  I  try  half- 
heartedly to  move  on  to  other  reading  matter.  It  is  without  doubt 
the  best  book  on  its  subject  available  today..." 

"I  have  recently  acquired  a  copy  of  your  book  Programming  the 
PET/CBM  ar\6  must  congratulate  you  on  its  concept  and  on 
packing  in  so  much  detail.  It's  so  very  much  better  than  anything  I 
have  had  up  to  now  that  it'll  be  my  constant  reference  manual." 

"I  have  received  my  copy  of  Programming  the  PET/CBM  by  Raeto 
West  and  I  have  recommended  it  to  several  of  my  students,  This 
book  is  so  valuable  that  1  cannot  now  afford  to  be  without  it." 


Published  exclusively  in  North  America  by  COMPUTE!  Books.  The  book  is  an  astonishing 
reference  manual  of  useful  information.  Contents  include  this  and  much  more: 


T  Introduction  and  overview:  Plan  of  the  book,  sources 
of  information,  features  and  chronology  of  CBM  hardware. 

2  BASIC  and  how  It  works;  Storage  of  BASIC  and  its 
variables:  tokens,  pointers,  syntax;  optimising  BASIC. 

3  Program  and  system  design;  Capabilities  of  the 
equipment;  charts,  algorithms,  space,  timing. 

4  Effective  programming  In  BASIC:  Seventeen  examples, 
including  subroutines,  dates,  DATA,  INPUT,  rounding. 

5  Alphabetic  reference  to  BASIC  keywords;  Full 
descriptions,  with  examples,  of  all  keywords,  with  methods  for 
adding  additional  commands  not  present  in  CBM  BASIC,  e.g. 
AUTO,  DEL.  OLD,  POP,  PRINT  USING,  SORT.  VARPTR, 

6  Disk  drives;  Descriptions  of  operation  and  workings  of 
disk  drives,  with  BASIC  and  machine-code  examples;  bugs. 

7  Alphabetic  reference  to  disk  BASIC  commands: 
BASIC  4  disk  commands  with  examples  and  notes. 

8  Other  peripherals  and  hardware:  Tape  storage  and 
handling;  printers;  modem;  keyboard;  EPROMs;  reset  switches. 

9  Graphics  and  sound:  Tables  of  CBJVt  characters;  CRT  chip; 


animation,  bar  plots,  80  by  SO  etc.;  user-port  sound. 

10  The  transition  to  machine-code:  Introductory  concepts; 
a  BASIC  monitor;  use  of  MLM,  Supermon,  Extramon;  easy 
examples. 

1 1  More  6502  machine-code:  6502  hardware  features; 
eighteen  common  problems  in  programming;  debugging. 

1 2  Alphabetic  reference  to  6502  opcodes:  Examples, 
notes,  and  explanations  on  each  opcode  from  ADC  to  TYA. 

13  Using  ROM  routines:  IRQ,  NMI,  RESET;  the  Kernel; 
examples  -  modifying  LIST;  ordinary  and  relocating  loaders. 

14  Effective  6502  programming:  Assemblers;  CHRGET 
and  wedges;  PIAs,  VIA,  IEEE;  common  mistakes. 

1 5  Index  to  BASIC  ROMs  and  RAM:  Memory  map  of  RAiVI 
and  ROM,  detailing  and  comparing  BASICS  I,  2.  and  4. 

16  Mathematical  programming;  Precision;  equations; 
statistics;  simulation;  finance;  calculus;  machine-code. 

1 7  Programming  in  business  and  education:  Examples, 
applications  and  pitfalls  in  business  and  education. 
Appendices:  6502  reference  charts;  Supermon  listings; 
ASCII;  glossary 


Plus  many  programs, diagrams  and  charts.  Paperback,  504  pages.  ISBN  0  942386  04  3.  $24.95. 


To  Order 

Programming  The  PET/CBM 

Call 
TOLL  FREE  800-334-0868 

In  NC  Call  919-275-9809 

Or  send  coupon  to 
COMPUTE!  Books,  P.O.  Box  5406,  Greensboro,  NC  27403 

In  England,  order  Irom  Level  Limiled,  P.O.  Box  438.  Hampstead,  London, 
NW3  IBH.  Price  in  England  (S  EH,90.  including  P  &  P, 


Please  send . 


.  copy  fcopiesf  of  Programming  The 


PET/CBM  at  524.95  each.  (In  the  US  and  Canada,  add  S3.00 
shipping  and  handling.  Outside  North  America  add  S9.00  for  air 
mail  delivery,  SB.OO  for  surface  delivery). 

All  orders  must  be  prepaid  in  US  funds  (money  order,  check, 
or  charge). 

Q  Payment  Enclosed 

Please  charge  my    Q  VISA    □  MasterCard    (^  Am.  Express 

Account  No. Expires         / 

Name 


Address 


Country 


State 


Zip 


Allow  4-6  weeks  rof  ddiveiy  Foicign  ^vrlxe  ddrvfi>-  allow  2-i  monlfis 


136 


COMPUTEI 


July,  WS2,  Issue  26 


m 
o 
h: 

LU 
Q. 

CC 

o 

LL 

CO 

h- 
LU 
CO 

OC 
111 
H 
O 
< 
DC 
< 

o 

GC 

I 

o 

I 

cvi 

LU 
_l 

< 


tn    w 
in    g 

CM    ^ 


CD 

V7 

OJ 
T3 
O 
u 


XI 
u 

E 


o 


e 

«     -'    TO 

^  t  ■ 

o  -S  < 

(ft 
05  *^ 

-  £ 
CO  ^ 

"  1;  o 

c 


o 
a: 

c 


o.  g 


o 

-I- 

VI 

c 

1- 

o 

"Ci 

UJ 

CO 

l; 

c 

<0 

o   S  •- 

XI  .c  00 

sT  ■=:  S 

^  g  s 

g.   S  in 

m  "5  Q. 

V  ■ 

C    ^  (-1 


2  ^ 


«   o  g 

^   &  E 

"  to  = 

.E  -I  c 

°-5  CM 

C    --.  ,- 

.2   c  oo 

+j  *^  ^o 

I    8  a 

.2  •§  m 

CC  ^ 

S  "5  O 

O  i:  Q. 

I-  O  w 


o 

< 


Q. 

Crt 


x; 
to 


I  I 


o 
< 


< 


ij-  U-!  vo  r--  CO  IT.  o  ■-^  fu  o  *  in  10  r--  05  0^ 
cu  cu  cu  w  cij  w  CO  01  n  CO  cm  «  n  a  n  fo 
aiftjcuftjainjfticucuaifafufijtucufti 


<-  -i  t-  T  _  -  ~  I  I 

•-  H  h  -r  _  -  "  I  I 

>-  H  h  -r  —  -  -  I  I 

©  T-i  CO  n  rf  10  M3  N  03  1?^  a  ^  w  CI  It  lo 

ftj  W  (U  ftj  OJ  OJ  iTJ  Ol  W  OJ  W  OJ  OJ  w  cu  cu 


1 

\ 

H 

■ 

T 

m 

fC- 

1 

\ 

■ 

■ 

1 

■ 

s: 

1 1 

■ 

■ 

-1 

* 

t= 

nj 

XI 

u 

-c 

,1,       L^ 

CC 

CQ 

O 

I 

o 

Ul  u. 

♦ 

1 

1     1 

CO 

^f 

in 

^D 

N    CO 

trt  X  ^-i 


M 


I  ♦  - 


^^ 

E 

c= 

o 

_J 

£ 

z 

o 

J 

,,'- 

\ 

L_ 

t 

in 

■.o 

N 

ii.  tr  1-  w  ^'  o    :■■    B    ':< 
Q.csci!;u-i(-:3>3x 


:t'  fij  +  «k  —  ;:::  ^ 

>  N  +  OT.  —  Sf  a? 


CA  ©  --I  Ol  CO 
Cr>cr"C^'<J''ff^Cf>C'iO^©CD©Q©©©CD 
-^  1-1  r-<  .H  ^  .-1  rH  -w  CO  OJ  CiJ  CU  OJ  CU  OJ  fU 


a>cfo-!CU<0'ifiny;rvcoCT^si-<(uc" 

SlOT-^^^«-ll-^T-(^-l»-^.-l^^lHflJClJC^IC^J 

OJ  fij  cy  CU  cvj  CU  CU  OJ  CU  (\j  CU  fij  cij  OJ  CU  CU 


x: 

CO 


I  I 
I  I 


I  _ 
I  „ 


«  ©  '-I  OJ  CO  -ij-  in 

X     'Ji    <£)    <£t    •^    'J)    <0 


M3    N    03    0^ 

'j5  y;!  SO  yi 


rt    CU    03 
N    N    T'-- 


I 
I 
I 

if) 


H      I-  T   _ 

H      I-  -r  „ 


1   1 

1  ^^ 

1   1 

1    V 

1   1 

1 1 

J' 


MS    N    03    0^    Gi    *-<    CU    CO    ft    m    iJD    N    05    ffi    6J    '^ 
r^    N    f-.    [■-    03    Oli    03    03    133    03    03    03    03    CO    OS    0^ 


z 
o 


^       » 


c 

3 
CC 

03    0^    ©    "-I    OJ    CO 
i3J    OJ    03    03    03    03 


(2 
«> 

I" 

in  ij3  r--  03 

00    03    03    03 


03    ^ 


DC  B.  * 

j^  §■  *- 

w  6  cS 

tH  OJ  03 


«   s   S    S!   ^ 


u  oz  o  - 


c    =; 


I 

o 
Q 


't    LHi    'Jj    r-    03    ?■■    O     •       ,-^    .  ,     ..-,.„,-    w    ^,  ■ 

.J-  It  ^  ■*  'S-  t  in  It"-'  in  b")  in  in  in  in  in  in 


1^  Ul 

CJ  '- 

OJ  CO  Tt.  in  ii3  r--  03  O'. 


o 


o 

to 

Q. 

00 


»  4A  W  *ii 

#  «  ,vr  rf 

-.    :       «  4^  A"  <^S 

N    CO    0^  iS  <-!  OJ 

CTi    I?"'    ff'i  CB  ©  ffl 


Ck'    o 


« 

+ 

■t 

1 

* 

+ 

* 

1 

* 

+ 

^ 

t 

y3 

03 

O    rt    f.j    i,-.-j    XT    [Tf    Lj;i    N-    03    0'- 

G)  'I  w  03  '^r  in  yj  N  CO  CT. 
s  »H  OJ  CO  ■*  in  y3  N  03  a-. 

OJ    03    -3-    in    yj    N    03    0^    (S    >-<    OJ    03    *    in    VJ3    rs. 
^^rt^^t-irf»HCijfUCUOJtUCUOJfU 


■l 

V 

II 

.A. 

f^ 

^ 

V 

II 

/■s 

0 

^ 

>■/ 

II 

A 

0- 

r-t      ^-H      1-4  *H 


O 


0="  a: 
ra  CC 


CO   U   Q    UJ   Ul    IJ3    X   M   >-:,   i;    J    E  z:    O 


IS    JJ     u    "C? 


01     J-      "r"      -i-J      ^ 


E       P 


CClUiDLJU-L:3XMi-)ii;_|E:^0 


■t    lf3    i£) 
li)    *£!     k£( 


CO    ij> 
yj   1.JJ 


CS> 


OJ   03 


03 


CL  G  CE  tn  H  3  >  3  X.  >  W  i-i  /  "  +-  -i 
ilO-i-w-wsS  3X>WLJ.''"<--1- 
Q-aoiUl    H3>3X>Ni_i/'~'<-     1. 

Q  »-(  OJ  03  'it  in  y3  r--  03  0^  <s  -•  oi  CO  -*  in 

CO    03    03    03    CO    CO    03    03    CO    CO    0^    0^    0^    C^    ff^    0^ 


o 
< 


Q. 

crt 


I 


* 

«  ;-■:  cS  * 

■■_■• 

.''■. 

* 

+ 

•   1     .  \ 

* 

«■    .V    '.^    • 

^^ 

.--s 

* 

+ 

»  1     •  \ 

* 

4*  .^.r  «3  ' 

^^ 

,■-•. 

* 

+ 

^     1        >    \ 

in 

CO 

so  rv  CO  ch 

03    CO    03    03 

© 
* 

* 

OJ 

CO 

Tt  UT  y3  rv 
^  rt  ^  ^ 

(s  —  OJ  CO  •*  tiT  ij3  r-  CO  o^   "   "*  V   II    .^  ^■ 

Q  »-<  CU  CO  ^  in  y3  N  CO  ff'  '•  "<  v  It  A  0- 
Q  T-i  OJ  03  t  ID  y3  N  CO  0^  <•  •*  V  II  A  C^- 
H>CPiOrtCU03'*iny3N(BO^O--'OJ03 

*  *  ID  in  in  in  in  in  in  in  in  in  ij3  ■.£!  ij3  y? 


z 

g 

I- 
o 
< 

M  ©  ^  OJ  03  -.f  in 

I 
u 


a 

o 

Si 


QQ 

■.Jj    N 


c 

3 

(U 


^ 


CO    iT<    Gi    i-H    CU    CO    't 


It"? 


^  >2 


O  a 

Q  2  ^  «  a> 

>-  S  E  ^  4    S 

£  o  O  m  ^    ,S 

O  QC  I  Q  Q    IJJ 


§ 


^ 


Ul 


O 


y3    r-^    03    (J>    fii    '-I    OJ    03    ^    10    VO    N    03    ff*    ©    '^ 

^,-t,H^aioJOJOjaiojcuaiOjOJC*)fo 


^v\sv 


versacalc" 

A  UNIQUE  VISICALC(tm)    ENHANCEMENT 
NOW      MM\AAU:      FtlR      PET 


L 


If  you  use  Visicalc(  tin)  but  are 
bumping  into  its  limitations,  you  need 
Versacalc( tm) !   Versacalc  runs  within 
Vlslcalc  but  uses  no  extra  memory;  in 
fact,  it  effectively  increases  memory  by 
letting  you  call  in  taodules  from  disk  as 
needed. 

A  Tutorial  section  makes  clear  such 
features  as  @LOOKUP,  DIF,  @NA,  0ERROR, 
which  are  not  well  explained  in  the 
Visicalc  manual. 

A  Utilities  section  makes  it  easy  to 
create  your  own  menu~driven  modules  which 
condense  hundreds  of  commands  into  four 
keystrokes.  You  can  build  in  aophist- 
Icated  error  checking  (e.g.   Is  the  input 
value  between  certain  llmlta?).   Now  it  la 
possible  for  people  untrained  In  Visicalc 
to  perform  the  weekly  updating  without 
constant  instruction, 

for  Comnodore  Pet  I,   CBM  2040  -  DOS  l.n 
available  for  8050  on  request 


KetTil  S125 


SORT  Visicalc,  and  Other  Useful  Wonders! 

NOW  YOU  CAN: 
SORT  a  Visicalc  screen  on  any  column, 

ascending  or  descending,  and  all 

related  formulas  and  labels  are 

sorted  too. 
put  the  entire  disk  CATALOG  on  the  screen 

at  once  I 
easily  do  Year-To-Date  accumulations! 
"pound"  formulas  to  expose  the  full 

formulas  in  place  on  the  screen! 
append  two  Visicalc  files! 
print  the  contents  of  a  /SS  file! 
print  the  contents  of  a  /PF  file! 
AND  our  EASEL  BINDER  is  so  nice  that  you 

will  put  your  other  manual  in  It! 

Distributed  by: 

Anthro-Digital  Software 

P.O.Box  1385 

Pitlsneld,  MA     01202 

413-448-8278 

VeisacAic  IS  t  rraaemaih  ol  Voriacaic  EnteiDr-se&  inc 
Visicaic  IS  a  tiaaema'h  ol  Personal  Soti  ware,  inc 


_J 


Tlie 


...„  SM-KIT  is  a  col  lection  of  machine  language  firmware  programming  and  test  aids  for 
BASIC  programmers.  SM-KIT  is  a  4K  ROM  (twice  tfie  rwrmal  capacity)  which  you 
simply  insert  in  a  single  ROM  socket  on  any  BASIC  4  CBM/PET-either  80  column  or  40 
column.  Includes  both  programming  aids  and  disk  handling  commands. 

ERROR  DETECTION:  the  SM-KIT  automatically  indicates  the  ermneous  line  and 

statement  tor  any  BASIC  program  error. 

LINE  NUMBERING:  the  SM-KIT  automatically  numbers  BASIC  statements  until  you 

turn  the  function  off. 

SCREEN  OUTPUT  the  commands  FIND,  DUMP,  TRACE  and  DIRECTORV  display  on 

the  CRT  while  you  hold  the  RETURN  key  (display  pauses  when  the  key  is  releasedl. 

Continuous  output  is  selected  with  shift-lock 

OUTPUT  CONTROL  io  DISK  or  PRINTER:  in  addition  to  displaying  on  the  CRT,  you  can 

direct  output  to  either  disk  or  printer, 

HARDCOPY:  allows  screen  displays  to  be  either  printed  or  stored  on  disk 

FIND:  searches  all  or  any  part  ol  a  program  tor  text  or  command  strings  or  variable 

names.  Either  exact  search  or  wild  card  search  supported. 

RENUMBER:  the  SM-KIT  can  renumber  all  or  any  part  of  a  program,  The  selective 

renumbering  allows  you  to  move  blocks  of  code  within  your  program. 

VARIABLE  DUMP:  displays  the  contents  of  floating  point,  integer,  and  string  variables 

(both  simple  and  array).  Can  display  all  variables  or  any  selected  variables. 

TRACE.  SM-KIT  can  trace  program  execution  either  continuously  or  step  by  step 

starting  with  any  line  number.  Selected  program  variables  can  be  displayed  while 

tracing. 

DISK  COM  MAN  DS:  as  in  DOS  Support  {Universal  Wedge),  the  "shorthand"  versions  of 

disk  commands  may  be  used  for  displaying  disk  directory,  initializing,  copying, 

scratching  files,  load  and  ain,  etc. 

LOAD:  SM-KIT  can  load  all  or  pari  of  BASIC  or  machine  language  programs.  It  can 

append  to  a  program  m  memory,  overwrite  any  part  of  a  program,  load  starting  with  any 

absolute  memory  location,  and  load  without  changing  variable  pointers. 

MERGE:  allows  merging  all  or  any  part  of  a  program  on  disk  with  a  program  in  memory. 

SAVE  and  VERIFY:  SM-KIT  provides  one  step  program  save  aixJ  verification.  It  also 

allows  you  to  save  any  part  of  a  program,  or  any  address  range. 

DELETE:  ailows  any  program  segment  lo  be  deleted 

REPEAT  KEYS:  allows  repeating  functions  it  not  already  available  on  specific 

PET/CBIVl  model. 


SM-KIT 

for  Commodore  Computers 
A  Programming  Productivity  Tool 


ONLY 
$40 


A  4K  ROM  with  both 
programming  and  disk 
handling  aids. 


Developed  by  (and  available  in  Europe  from)  SM  Softwarevetbund- 
Microcomputer  GmbH,  Scfierbaums basse  29,  8000  Munchen  83,  Germany 


252  Bethlehem  Pike 
Colmar,  PA  18915 


21 5-822-7727 


A  B  Computers 


WRITE  FOR  CATALOG. 

AOD SI  ^"i  aer  iBflfi  liu  shipping  Ai' I'.iy  IilMiKi- ii'  UPS  •^iirt.il  e i  ti,iri].> 
111  .1"  veoM  i»df!s  Piirpv  nsMl  .Vf  .«'  ..isi  J.v.n.nr  :mms Rnjui.n 
Alices  siiqiii'v  rjiqrn>r 


138 


COMPUTEI 


July,  1982,  Issue  26 


PET  ROMs  Character  Set  AO,  for  "alternate,  origi- 
nal," and  the  alternate  character  set  in  all  other 
ROMs  Character  Set  A.  These  two  alternate  sets 
contain  the  same  characters,  but  in  a  clifTerent 
order,  as  we  will  see  later  on. 

About  75%  of"  the  characters  in  all  three  sets 
are  identical.  Sets  S,  A,  and  AO  differ  only  in  the 
characters  produced  by  the  alphabetic  keys  A 
through  Z,  and  in  four  other  characters,  all 
graphics.  At  "power  on,"  graphics  keyboard  PET/ 
CBM's  have  Character  Set  S  enabled,  while 
machines  with  business  keyboards  have  Character 
Set  A. 

Character  sets  can  be  switched  by  POKEing 
59468  with  12  or  14,  or  with  other  numbers  as 
well.  Numbers  having  a  binary  representation  of 
the  form  XXXX  1  lOX  vk'ill  produce  character  set  S, 
while  any  other  number  will  produce  your 
machine's  alternate  character  set.  In  machines 
having  the  GRAPHICS  and  TEXT  commands, 
these  can  also  be  used  to  switch  characlci'  sets. 

Now^  back  to  the  demo  program.  Without 
touching  the  keyboard,  study  the  characters  dis- 
played on  your  screen.  Notice  that  there  are  256 
characters,  all  different,  and  that  the  first  128  of 
them  are  repeated  in  reverse  field  to  make  up  the 
second  128.  (There  may  seem  to  be  two  identical 
SPACE  characters,  but  there  aren't  -  the  second 
one  is  SHIFTED  SPACE,  and  your  computer 
treats  it  as  a  separate  character  altogether.)  This  is 
the  complete  set  of  printing  characters  from  the 
currently  activated  set.  In  other  words,  you  are 
looking  at  every  character  your  machine  can  display 
at  this  moment. 

Now  press  any  key  and  study  the  characters  in 
the  other  set.  Again,  there  are  256  unique  symbols, 
128  regular  and  128  in  reverse  field.  Press  a  key 
several  times,  and  notice  which  characters  change 
as  the  character  sets  are  toggled.  If  you  count 
them,  you'll  find  60  characters  that  change  —  30 
regular  and  ,30  reverse  field.  Note  which  ones  they 
are,  and  notice  that  certain  combinations  of  char- 
acters can  never  be  on  the  screen  at  the  same  time, 
the  HEART  and  tlic  lowercase  "s,"  for  example. 

You  have  now^  seen  every  character  that  your 
machine  is  able  todisplay.  All  other  PET/CBM's  • 
have  the  same  printing  characters,  but  in  some 
machines  they  are  gotten  at  in  a  slightly  different 
way.  Altogether,  there  are  316  different  characters, 
256  of  them  available  at  any  one  time. 

Since  we've  now  looked  at  the  complete  reper- 
toire of  printing  characters,  let's  look  further  into 
character  codes,  the  other  part  of  the  character  set. 
A  character  can  be  displayed  on  PE  IVCBM's  screen 
in  one  of  three  ways:  by  POKEing  a  code  into  a 
screen  memory  location,  by  pressing  a  key,  or  by 
executing  a  PRINT  statement.  Additionally,  your 


machine  can  send  characters  to,  or  receive  them 
from,  devices  connected  to  the  IEEE,  user,  recor- 
der, and  memory  expansion  ports.  In  every  case, 
character  codes  are  used  to  specify  which  character 
is  to  be  displayed,  recorded,  or  transmitted. 

The  Screen  And  CHR$  Sets 

Our  demonstration  piograni  POKEd  cliaracters  to 
the  screen,  using  the  256  character  codes  from  0  to 
255  inclusive,  which  produced  256  different 
printed  symbols.  POKEing  a  I  gave  an  A,  a  2  gave 
a  B,  and  so  on  through  all  the  printed  characters. 
This  particular  combination  of  codes  and  characters 
is  valid  only  for  screen  POKEing,  and  is  summarized 
in  Table  1 .  We'll  call  it  the  Screen  POKE  Character 
Set. 

All  other  character  manipulation  in  the  PET/ 
CBM  uses  a  completely  different  group  of  codes  to 
print  these  same  characters,  and  it  is  summarized 
in  Table  2.  Many  of  the  printing  characters  and 
control  functions  in  this  set  can  be  acti\'ated  directly 
from  the  keyboard,  and  all  of  them  can  be  activated 
by  using  the  CHR$  function.  We  will  call  this  the 
CHK$  Character  Set. 

Some  people  call  it  PET  ASCII,  but  that  ter- 
minology is  misleading-  PET/CBM's  CHRS  char- 
acter set  has  twice  as  many  codes  as  ASCII,  and 
only  about  half  of  the  128  ASCII  codes  have  the 
same  meaning  in  the  ASCII  and  CHR$  character 
sets! 

All  PET/CBM  keyboard  and  PRINT  opera- 
tions use  the  CHR$  character  set;  it  is  afso  used 
whenever  characters  are  sent  to  or  received  from 
external  devices  such  as  printers,  files,  or  modems. 
If  you  tell  PET  to  send  an  asterisk  to  your  printer, 
it  will,  in  fact,  send  00 10  1010,  or  42  in  decimal 
notation.  And  whenever  PET  receives  a  42,  what- 
ever the  42  may  have  represented  in  the  sending 
device's  character  set,  PET  interprets  it  as  an 
asterisk. 

There  are  256  CHRS  codes,  numbered  from  0 
to  255  inclusive,  and  the  CHR$  character  set  differs 
substantially  from  the  POKE  set,  although  both 
can  be  used  to  display  the  same  symbols.  Here  are 
the  essential  differences: 

•  Very  few  characters  have  identical  POKE 
and  CHR$  codes. 

•  Tliere  are  no  CHR$  codes  for  reverse  field 
characters.  Instead,  the  RVS  ON/OFF  key  or 
its  corresponding  CHR$  codes  are  used  to 
produce  them. 

•  The  CHRS  set  includes  14  control  characters 
(28  in  SO-coknnn  machines  and  newer  40-col- 
umn  machines)  in  addition  to  its  128  printing 
characters. 

•  Since  there  are  256  CHR$  codes,  and  only 


niJFEKnp  r.  ^[)(B»^(^ 


HARD  SOFTWARE  TO  BEAT 


ANY  5  $42.00  :  ANY  3  $27.00  :  ANY  1  $9.95  :  OUR  CATALOG  FREE! 


SEARCH  -    Olive  through  3  giant  m,ue  of  looms  encounterine  money  bags,  luel  tanks,  arnj  moving  oil  ilicl<s  that 

slide  you  back  to  slan.  Noljody  heie  has  evei  eoHen  all  eighteen  lugs-but  we're  still  at  it  and  soon  .  .  . 

ALIEN   PANIC  -  Climb  laOdeis,  dig  holes  and  drop  aliens  .  .  .  Quickly' 

KRAZY  KONG  ■   you  have  to  i:limb  to  the  lop  but  Ihis  crazy  monkey  keeps  lolline  bairets'? 

VIKMAN  -  Sweep  up  dots  Ijelore  monsters  mop  you  up. 

QUIRK  -   Arcade  type  game  where  rf  you're  not  awake  the  door  Irteially  moves  out  Irom  under  your  teet. 

Fortunately  loi  the  careful  land  the  Qurck)  the  rewards  roll  rnio  your  pocket. 
RESCUE  from  NUFON  -  a  Graphic  Adventure  game  played  wrin  the  keyboard.  Some  commands  die.  N.S.E.W,  for  drrection,  T  lor 
transport,  U  and  0  lor  the  5  flooi  elevator.  Unot-r  youi  watchful  eye  itheie  .iie  certain  undesireables  rn 
these  rooms)  youi  guy  frnds  and  tr,inspoit5  hum.ins  to  safety.  One  player  average  20  min. 
DODGE  CARS  -    Fast  fun  on  crowed  freeway.   Thrs  colorful  game  keeps  lop  5  i  compares  agarnst  last  50- 
INVASION  -    Protect  energy  pods  from  being  stolen  by  enemy  shrps.   Simple  and  challenging. 


*******  SPECIFY  KEYBOARD  OR  JOYSTICK    ******* 


nuFRnm  iiept. 

EXTENDED  MEMORY  &  DISK  GAMES 

AVAILABLE  BY  TIME  OF  PRINTING 

WRITE  FOR  NEW  CATALOG 

Also  32K  Ktazy  Kotig  for  the  ATARI 


WRITE 


nUFEKUP 

P.O.  BOX  156 
SHADY  GOVE,  OREGON  97539 


OR  CALL  503-378-2113 

MASTERCARD  -  VISA  -  C.O.D. 


VIC  20 

VIDEO 

HERE  ARE  THE  SAME  PROGRAMS 
OUR  TELEVISION  PRODUCTION 
TEAM  USE  FOR  MAKING  COM- 
MERCIALS AND  SPECIAL  EFFECTS^ 
COLOR  BARS,  COUNTDOWNS.  AUTO 
SLATES. GRIDS,  PULSATING  SINE 
WAVE  S,  STAR  BEDS  +  MUCH  MORE 

EASY  TO  CUSTOMIZE  &  SAVE. 
ALL  CRAMMED  IN  ONE  TAPE? 

20  OO 

SEND    ZOO    FOR     CATALOG  OF 
UNIQUE    VIC     ACCESSORIES. 


PENTHOUSE 


MIAMI.  FL. 33181 

VIC  20  IS  A  T.M.OF  COMMODORE 


PET/CBM  OWNERS 


WALLBANGER  -  Blast  your  way  through  the 
dodge'm,  blasfm,  and  attack  modes.  If  you 
destroy  the  bouncing  balls  before  they  destroy  you, 
the  walls  close  in  for  the  next  round.  Wallbanger  is 
written  in  machine  language,  has  great  sound,  and 
encourages  complex  strategies. 

CASenK/WCOLBCREEN/OUVNEWIiaiM SnO.UlJ 

(CAUF.  RES.  ADO  BN  BALES  TAX) 

MILLIPEDE  -  Exterminate  the  oncoming  millipedes 
and  fleas  as  they  descend  thraugh  the  mushroom 
patch.  Blast  giant  bouncing  spiders  before  they 
pounce  on  you.  Shoot  a  millipede  in  the  body  and 
suddenly  two  millipedes  descend  toward  your  ship. 
Millipede  is  written  in  machine  language,  has 
excellent  graphics,  and  great  sound. 

CABB/BK/WCOLaCaEENAJLD^EWnOMB $15.00 

(CAUF.  RGB.  ADO  B«  BAUSTAX] 

Write  for  FREE  game  details: 

ON  LINE  SOFTWARE 

P.O.BOX  S044 
ORCUTT,  CA  33455 


WARNING!  These  games  cause  high  panic  levels! 


PET/CBM  OWNERS 


"0  COMPUTEI  July,  1982,  Issue  26 


< 

a 


c 


O  P 

^  E 

Of 

p  p  en 

>-•      OJ      CO      *  .,ri  .,H  4, 


O-U  P                                                (iWW  i-30F 

2        Of  O      O      O      O      O              U      E              E              £  O     4-'      "'Cf              P              itI                     "O             -P             -t^      O 

■>        E  4J      ►•      l.      i_      t.              t.i-1      3              r/i              Ifl  4J      itj     4-'             ^              !^                       n)              X                     +J     ^ 

rZ'               ffu  (uj-'+j-t^-l-'           ^•T'           p           p-t-'  itii-                 u           fi)                 dj           ■!•           i/i<i)nj 

TT              •S"'  i-pppp               -o          It)          IT)    X  i.    K>   ^          ft)          a.               j:         4Ja.zpi-+' 

"^              S""  *                oooo         ji4;          i-          i-a.  tjiida'tiTr                *         -p                     4jo't) 

C/j              ^<u  u          4>uuuu          pE         jj         +.>+^aiQ.ai4J>i'ai  wp3i<.         i^-^po.^ 

<■              9)     '-'  in          tji                               -^         ■y^  4    *    w    p    a.    >              "H    ij    o          o   +J    o    4i    1^ 

Cf  Vl*-HUUULl-P              O'-'OtOO  Q.W             4J              l.4J+.>+jil.4-'4J-C             ••' 

_,                                pr-jsiUi-TJ.^.vi-^iliiXl  3              tit  E'l'3"H4i*^i-^0>^-i*-i-IJl-WU-«-'4-' 

CI^                    "q       Ji:  '^      U      P      5*-      >      >      >      >.—*+-«    "O      IT    73      Lf    "O     "O  I*-     --^      O      '*-      P      Ul    ^-*      u     ■■h     '-^      (fl      n^      "^     ^      p     '^^      ^ 

^                     1.        u  ■!      'U      IT)      ■Tj      Oi      -L      ■!!      ai      '1)      ■■*      P      P      p      1,1      P      P  O     ■■''      1-      '3      -^      Cb      :?      li     -"^     -1^    4-'      0.    -kJ      3      71     IS      Oi 
^                 c      iICUCClOOCsi2iOCiCiOljJUUUULiLi,Li.aX_IZZli:UTLni/lLriU1l/lO*lD> 

-I-                 U       I  I       I       I       I       I       I       I       I       I       I       I       t       I       I       I       I  I       I       I       I       I       I       I       I       I       I       I       I       I       t       I       I       I 


LU  S 


2v-J  S  -hCU    (n'J'_|LLl  GKOCClX  ii_l  XOXQ32 


O 

ff:  ^    ouwiii;a6ucjujE±bi7iPt-^u.Lnuii~LuSDmMoocLH5>i/i 

LU       ST  (T  (H  Qi  f_i  O  Ci  Q  Ci  O  Q  Q  U  bJ  U  Ul  UJ  U  U.  Ll  in  I  _l  Z:  Z  Q:  Ul  10  W  ITi  in  in  LO  3 

Z  

z 

o       ..  : 

p  e  p 

o 

LL 

Z 

cc 
o 

LL 

LU 
Q 

o 

o 

Q  ^      I      I      I      I      I      I      t      I      I      I      I      I      I      I      I      I      I      I      I      I      I      I      I      I      I      I      t      I      I      I      I      I 


o 

"r* 

<*■ 

o 

1" 

4j 

w 

w 

a. 

CO 

P 

41 

* 

J- 

■*- 

j: 

X. 

.-1 

4-1 

4j 

Ci 

Jli 

4J 

+^ 

r\ 

iTl 

* 

It 

on 

CL 

1- 

P 

p 

W 

E 

-it 

4-1 

Jsi 

4.1 

Jl£ 

a, 

4i 

•ii 

Tl 

01 

Oi 

3 

■  tj 

p 

:^ 

•tl 

ij 

P 

U 

4.1 

u 

P 

u 

S 

P 

ti 

p 

01 

P 

Oi 

1^ 

P 

u 

.13 

,13 

Tl 

iTj 

X 

P 

f? 

■  *^ 

ifl 

■^ 

p 

•^ 

■■H 

•o 

^ 

iX 

a 

E 

C 

p 

P 

4-1 

iTj 

.i3 

VI 

JO 

* 

111 

u 

41 

-a 

tu 

+.' 

O 

w 

Irt 

p 

a 

^ 

'■^ 

^,^ 

o 

n) 

P 

-•- 

.-^ 

p 

u 

fl^ 

!■» 

■tJ 

■H 

n) 

o 

■71 

cn 

w 

,— * 

^ 

L. 

Cf 

LI 

Ol 

•11 

cn 

i-t- 

..^ 

13 

Cl 

Tl 

rji 

E 

•p 

^ 

V 

P 

W 

i>- 

P 

p 

'T- 

p 

■o 

o 

4.' 

Vl 

ll 

■T- 

1.. 

P 

Vl 

P 

e 

.—rf 

p 

U 

p 

o 

") 

.1) 

4- 

■fl 

ai 

L. 

4-- 

'T' 

■*■! 

'll. 

,13 

•11 

0 

4J 

p 

l.t 

.--" 

■I-' 

+■' 

Ill 

■.I-' 

^ 

..H 

■^ 

!l- 

'!< 

■T- 

..H 

...- 

ai 

t^ 

+■' 

j;> 

>^ 

u 

Ill 

W 

P 

I/I 

4i 

1.1 

E 

-L. 

't-1 

P 

o 

••V* 

W 

.13 

iTl 

l.l't 

E 

P 

■ll 

w 

u 

it 

> 

p 

4-1 

Vl 

•w 

1 1 

l-l 

P 

^J 

I'll 

O 

•X" 

Q 

4^ 

3 

p: 

i;^ 

y 

il( 

F 

1^ 

•n 

ill 

ll' 

F 

--. 

o 

^-1 

', 

p 

■n 

ill 

s 

« 

F 

X 

3 

3 

o 

<i< 

e 

CU 

a 

w 

^ 

■5 

■St 

Oi 

j-^ 

o 

ll 

<il 

rr 

i^ 

3 

o 

O. 

Ill 

.1-1 

m 

•1- 

(0 

u 

CJ 

Z 

Ci 

Cl 

(E 

CC 

o 

o 

CE 

fl. 

O 

X 

Cl. 

V\ 

o 

W 

J 

bj 

u 

O 

O 

o 

ct 

o 

O 

3 

P 

O 

> 

o 

i- 

^  =     0:1    ^    111    !.£    N    CO    CTi    O    -H    CU    CO    't    ID    iXi    N    CO    C^    O    i-h    fU    CO    ^sf    »-<    CU    07    t    U7    'JD    O    t    UT    ^£1 

5  c    CO  00  CO  CO  CO  CO  fi  rj-  Tj-  *  If  -*  Tt  -If  Tj-  iTi  in  ■.£!  y;  •■£!  yj  vi  0^  CT'  cr>  cr.  a\  ON  cu  cu  cu  cii 


•■^    ja     u    T3     ilf    14-     Gn   -C    •''    -ll  .ii    ■-■     E     P     o  Cl    rr    i-     I'l    4-1     zi     >     3     X     :7>    rg    1-y    --   1^     J     O 


<  — 

CO 

z 

7^  i-ii  r-  CO  cTi  o  -^  cij  CO  ■*  in  md  f'-  0:1  cti  C3  --i       cu  co  *  ini  '.fl  h-  co  a^  si  -^  oj  c'v  ■*  in  '■c  h- 

y  c^•lC^a^c^ll^Q^Ol^ClselGlG>'-|-'*       .-(•^-^'-'.-(^TtrtOJcucucuojojaifu 

LU 


<         i 


C^CCQjOQUU.iaii-i'-Jiii-JSZCD  Q.CSCt'Lrit-=i>3X;-NLj/ 


«-,  Tfbo^jjNcoff^sii-'Cuco-tu'j^dNait^       o-T-icuco'^invCNcoc^o-^cijco^in 

'■J  -=     -,£1    ID    lO    Ml    ^ii    ^£1    r--    N    N    N    N    r--    N    N    N    h-  00    05    CO    00    OS    00    00    CO    03    CO    ffs    C^    iji    (?■    ff\    0^ 

UJ  p 

_l 

CO 

< 


m  B 


a. 


.£     ij-|    „,    :     *   4#   ;.„■    i,;;   »     ,j    .■-.    #    -(-      •,    t       .    \  O    •-<   OJ    CO    it   UT   '-b   N   03    Cfi    •■    "i  v    11    '■^^   (>■ 

S    cu  CO  *  in  '■fi  N  oj  ON  Q  '-'  cu  cci  ■*  in  ^43  N       03  gi  ®  -<  cu  rt  If  rj  *c  f^-  03  ON  ®  -1  cu  c>:i 
■c    oifofooococ^coco'd-'tt'fl-'i'i^''*'^       ■*'J■lo^ou^tnl^lmmuolr)lnvJ3^^DlvD 


O-IIXXh-Qiii— I  UJ'-iCiJfO'tiiZCQZ  CCCi 

to3oi~H-oz;ouLnHu.HLj.ii:oi-<  _jocjL)Cja:3-f-a:E3  ui  in  m  iri  ot 

<     Z    lj-|    Ul    Ui    Ld    Ul    CE    CO    CD    X    _J    5-    U.    O    L>'1    LO  Q    Cl    Q    Ci    lii    S    O'i    U    CJ    Lt    LH    U  ll.  U3  Ct!  ^i 

,E     13    1-1    OJ    CO    Tt    UO    isO    r^-    03    i7>    Q    --I    OJ    CO    *    U"j  \j3    N    CO    CTi    ®    --t    CO    CO    -a-    UT    1J3    hs.  CO  CT^  CS  -^ 

jT                                                    ,,_  rt  rt  »-<  rt  --1  *-i  »-.  rt  T-i  cij  aj  cu  cu  cu  cij  OJ  OJ  cu  cu  («)  CO 


July,  1982,  Issue  26 


COMPUTE) 


141 


128+  14=  142  CHR$  characters  (156  in  some 
machines),  many  of  the  CHR$  codes  have  no 
meaning  at  ail  in  the  PET/CBM,  and  in  many 
cases  one  primed  character  has  two  different 
CHR$  codes! 

Table  3  shows  tlie  standard  ASCII  character 
set.  It  is  presented  in  a  similar  format  to  Table  2,  to 
facilitate  comparison  of  the  ASCII  and  PET/CBM 
character  sets.  Study  the  two  tables  carefully,  and 
you'll  see  that  PE  17CBM  has  all  but  seven  of  the 
ASCII  printed  characters,  (94-96  and  128-126), 
but  often  with  differenl  character  codes. 

You'll  also  notice  that  ASCII,  being  a  .seven-bii 
code,  has  no  character  codes  above  127,  and  lacks 
many  of  PET/CBM's  printing  characters. 

Because  there  are  so  many  ASCII  control 
codes,  most  ASCII  keyboards  use  a  special  CON- 
TROL key,  similar  to  the  SHIFT  key,  to  generate 
theiri.  CTRL  A  often  sends  a  1  code'(SOH),  CTRL 
B  a  2  code  (STX).  CTRL  C  a  3  code  (ETX),  etc. 
Also,  the  meanings  of  the  ASCII  control  codes, 
established  with  commercial  message  traffic  in 
mind,  are  almost  completely  foreign  to  PET/CBM. 

No  wonder  it's  sometimes  hard  to  u.se  non- 
Commodore  de\ices  with  yoiu'  machine!  But  now 
that  you  have  Tables  2  and  3,  you  can  write  pro- 
grams for  perfect  conversions  between  ASC'll  and 
PE  I7CBM  codes.  Table  2  shows  you  exact!)'  what 
code  PET/CBM  sends  when  a  given  character  is 
transmitted,  and  fable  3  sliows  you  exactly  liow  an 
ASCII  device  will  interpret  that  code.  Conversely, 
Table  3  shows  you  the  intended  character  repre- 
sentation of  every  ASCII  code  yom^  machine  re- 
ceives irom  outside,  while  Table  2  shows  which 
code  it  has  to  be  converted  to  to  have  the  same 
representation  inside  your  PET/CBM. 

Some  Example  Conversions 

A  few  examples  will  illustrate  the  conversions. 
Suppo.se  that  yoin-  PET,  with  t^haracier  Set  A 
enabled,  is  connected  through  a  modem  to  an 
ASCII  terminal,  and  that  you  are  sending  messages 
back  and  forth.  The  ASCII  terminal  sends  the 
lowercase  Idler  "a.  "  Taiile  3  shows  that  the  code 
actually  transmitted  will  be  97  decimal,  or  0110 
0001.  If  your  PET  receives  that  code  and  displays 
it  on  the  screen  as  a  PRINTed  character,  Table  2 
shows  that  it  will  be  displayed  as  an  exclamation 
point! 

So  you'll  need  some  software  in  your  PET  that 
converts  received  ASCII  input  to  CHR$  format 
before  displaying  it.  In  this  case,  whenever  PET 
receives  a  97,  the  prograrii  sliould  convert  it  to  a  65 
before  PRIN'fing  it.  Of  course,  the  program  should 
also  be  smart  enough  to  convert  (or  not  convert) 
any  of  the  other  ASCII  codes  between  0  and  1 27  so 
that  they  give  the  proper  display  on  your  PET. 


Going  the  other  way,  suppose  that  you  press 
the  inishifted  "b"  key  on  your  PET,  and  want  the 
distant  ASCII  terminal  to  see  it  as  a  lowercase  "b." 
Table  2  tells  us  tlial  your  PET  will  send  a  66,  which 
Table  3  tells  us  the  .-iSC^II  terminal  will  interpret  as 
an  uppercase  "B,"  which  is  not  at  all  what  you  want. 
So  your  program  has  to  convert  the  66  to  a  98 
before  transmitting  it,  and  to  make  conversions 
on  any  other  transmitted  characters  where  it's 
appropriate. 

If  you  study  Tables  2  and  3,  you'll  be  able  to 
determine  every  sending  and  receiving  conversion, 
and  to  write  your  programs  accordingly.  If  the 
remote  device  has  a  character  set  different  from 
standard  ASCII  (many  of  them  do),  all  you  need  to 
do  is  compare  it  to  Table  2,  and  you'll  be  able  to 
program  the  conversions. 


100 

REM    ***  CHARACTER  SET  DEMO  *** 

120 

REM 

130 

REM  SHOWS  EVERY  PET/CBM  CHARACTER 

140 

REM  (KEY  PRESS  CHANGES  CHAR.  SET) 

150 

REM 

160 

PRINT" {CLEAR} " 

170 

FORCH=0TO255 

180 

POKE(32768  +  2*CH+40*INT(CH/20)  )  ,CH 

190 

NEXTCH 

200 

FORI =1T02 3: PRINT: NEXT 

210 

PRINTTAB(32) "59468=1"; 

220 

IFPEEK(59468)=14THEN250 

230 

POKE59468,12:POKE33767,50 

240 

GETA$ :IFA$=""THEN240 

250 

POKE59468,14:POKE33767,5  2 

260 

GETA$:IFA$=""THEN260 

270 

GOTO230 

280 

REM 

290 

REM  **  LINE  200  FOR  80  COL.  CMB'S: 

300 

REM 

310 

F0RI=1T011 :PRINT:NEXT 

Simulative  Strategy  Games 

for  the 

VIC-20 

from  p.R.  SoftWARe 

These  simulative  strategy  games  combine  graphics  and  strolegtj 
situations  to  offer  maximum  enjoi/ment  and  challenge.  No 
jo^/sticks  required.  Non-arcade  games. 

•  STAR  DEFENDER        •    CONVOY  ESCORT 

•  CONVOY  RAIDER       *    COMPUTER  BASEBALL 

•  BOXER'S  CORNER     •    DUNGEONS  OF  KAL 

$11.95  each 

S<?nd  check  or  morey  ord^i  plu^  £1  50  posiag^  and  handling  to: 
P,R,  Software,  P.O.  Bob  169,  South  San  Wwmnclmco,  CA  94OS0 

Calif,  R^$.  add  6%  sal^s  lak 
Dealer  Inquiries  Invited      Pro^ripmrncrs  «dught 

VIC-20  is  i  registered  trademark  of  Commodore  Business  Machines 


142 


COMPUTE! 


JuV.  1983.  Issue  26 


In  the  May  issue  o/ COMPUTE!,  Steve  Steinberg's  nrlic/c 
"Ltntgunge  Lab"  was  inadvertentl\  published  with  the 
wmitg  Ijwgmni  accompanying  it.  It  is  reprinted  liere  in 
its  entirely. 


An  ATARI  Learning  Program 

Language  Lab 


Steve  Steinberg 
Washington,  DC 


Language  Lab  is  a  program  to  use  your  ATARI  lo 
help  you  build  vocabulary  in  a  foreign  language.  Fi 
is  basically  a  eonipulerizecl  version  of  that  old 
standby  ol  language  education,  the  Hash  card  set, 
and  I  have  found  it  extremely  simple  and  effective 
to  use.  It  is  structured  so  that  you  can  drill  and 
score  yourselfon  as  many  words  as  you  like,  but  I 
find  it  most  useful  if  you  display  a  fifteen  or  twenty 
word  vocabulary  cirill  on  the  screen,  spot  the  errors 
and  review  them,  then  trv  again.  If  you  have  enough 
memory,  you  can  also  use  it  to  create  a  fair  sized 
foreign  language  dictionary. 

I  have  use<l  a  handful  of  French  words  in  the 
program  example  biu  you  can  easily  change  this  to 
anv  language  vou  want.  Simply  change  line  55 
L.4N(;S  =  ''FREN-CH"  to  LANGS  =  "GERMAN", 
■SPANLSH"',  "NAVAJO"  or  whatever  vou  like  and 
enter  the  appropriate  word  pairs  in  DA  TA. 

The  1),\  r.-\,  beginning  on  line  I()(H)  is  easy  lo 
expand  as  your  language  skill  increases  and  can  he 
u.sed  in  conjunction  with  either  a  self  teaching  or 
school  language  course.  Just  enter  (he  DA  TA  in 
word  [Jails,  the  lirst  in  English,  the  second  in 
whatever  language  you  are  woiking  with. 

The  key  to  the  vocabulary  drills  is  the  random 
word  subroutine,  lines  500  through  550.  In  line 
510  X  =  (l  +IN  r(RND(l)*25))  tiie  25  is  equal  to 
the  ninnber  of  word  pairs  entered  as  DA  F.A.  As 
you  increase  the  nimiber  of  word  pairs  bv  adding 
new  DATA  this  number  should  also  be  approp- 
riately increased.  You  can  also  alter  this  line  lo  drill 
yourself  On  only  part  of  your  total  foreign  language 
\'ocabulary. 

Let's  assume,  for  example,  that  you  have  600 
word  pairs  in  DATA  but  only  want  to  cirill  yourself 
on  the  last  100  words  \ou  ha\e  entered.  In  that  case. 


change  line  510  to  X  =  (500  +  INT(RND(  I  )*  1 00)). 

Lines  160,180,260,280,330  and  430  use  the 
ATARI  cursor  advance  and  line  "up"  arrow  keys 
to  provide  a  format  that  will  display  as  much  of 
your  language  drill  or  translations  on  the  screen  at 
one  time  as  possible,  but  yoti  can  replace  these  with 
Just  "PRINT"  statements  if  you  prefer.  This  would 
be  useful  if  you  want  lo  use  the  program  for  cirill 
and  translation  of  whole  phra.ses  and  sentences 
instead  of  jusi  single  words.  Don't  forget,  however, 
lo  increa.se  the  size  of  the  appropriate  string  di- 
mensions (ENGLISHSAVORD$,TRANSLAFES) 
in  line  50. 

One  final  note;  if  vou  hajjpen  to  own  IRIDIS 
2  (and  if  you  have  an  AT.\RI  (()m}>uter  1  don't 
think  you  can  find  a  better  bargain  in  software) 
vou  can  easilv  add  the  appropriate  subroutine  to 
use  Language  Lab  for  Russian,  (ireek,  Hebrew  or 
whatever  you  wish  by  adding  the  foreign  alphabet 
in  lowercase.  I  am  cinrently  using  the  })rogiam  to 
teach  myself  Classical  Greek.  I  hope  this  program 
will  be  useful  for  budding  language  students  and 
in  any  ca.se  good  luck  with  it,  bon  chance,  and  auf 
wedersehcn. 


46  REM  LANGUAGE  Lfifi 

41  REM 

45  REM  Ei  STELE  STEINBERG 

50  DIM  LANG$(  15). ENGLISH*'; 20).  140RD$( 20). 

TRftH3LftTE$(20).Q$<2) 

55  lang$="frem:h" 

60  print  "(clear)": print  "  ";lang 

$;"  LfiHGUAGE  LAB" 

65  PRINT   = PRINT 

70  PRINT  "D  ";LANG*>"  TO  ENGLISH  UOCftBU 

LAR7  DRILL" 

75  PRINT   =PRIHT  "2)  ENGLISH  TO  ";L««j" 

UOCABULARY  DRILL" 
80  PRINT   ^ PRINT  "3)  ";LAt4G$;"  TO  ENGLISH 

TRA^ISLATOR" 
^  PRINT   :pRINT  "4)  ENGLISH  TO  "iLANG$;" 

TRftHSLATOR" 
90  PRINT   ^PRINT  "ENTER  HJMBER  OF  DESIRED 

PROGRm"  ;■■  INPUT  CHOICE ^  IF  CHCiICE>4  THEN 

GOTO  90 

95  GOTO  CHOICE«100 
100  REM  LAH:UrtGE  TO  ENGLISH  DRILL 
110  PRINT   =PRINT   ^F-RINT  "HOW  MANY  WOR.DS" 
; :  INPUT  N  ■■  COUNT=e  ■■  SCORERS 
120  ?  "{CLEAR}":?  "TRAf-tSLATE  THE  FOLLOHI 
HG  tJORDS  INTO  EhiXISH": PRINT 

125  GOSUe  500 

130  IF  CUUNT=N  THEN  GQiUB  600 
135  IF  COUtlT=H  THEN  IJJTO  198 

140  PRINT  m<m> 


Julv,  1982,  Issue  26 


COMPUTE! 


143 


150  INPUT  TRANSLATE*. 

160  IF  TRANSLHTE$=EtCLISH$  THEH  SCORE=SC 

ORE+ 1  •  CCiUHT=CCiLJHT+l  ■■  PRIHI  "  OJO  135  RIGHT 

iCCSlPECT" 

170  IF  TRftHSLATE$=EHGLISHI-  T1€H  GOTO  125 

130  IF  TRANSLATE$<>EH:LI3H$  THEN  DJUHT=C 
0UKT+1=  PRINT  "{UP>ai  RIGHT} WRONG!   IT'S 
";ENGLISH$:Gi]TO  125 
200  REM  EWGLISH  TO  LAMJUAGE  DRILL 
210  PRINT   :PRINT  =PRINT  "HOW  MANY  140RDS" 
j-I^PUT  N^COUHT=0^SCOftE=8 
220  ?  "{CLEAR}"  ^?  "TRANiSLATE  THE  FOLLOWI 
HG  WORDS  IHTO  "jLf*C$  =  PRINT 

225  GOSUB  500 

230  IF  COUNT=N  THEN  GOSLB  600 
235  IF  COUNT=N  THEN  GOTO  280 
24€i  F-RIHT  EH:LISH$. 
250  UPUT  TRANSLATE*.. 
260   IF  TRANSLATE$=WOFIJ-*  T^€N  S!::ORE=SCCiR:E 
+1:C0UNT=C0UNT+ SPRINT  "iUF'Jae  RIGHT5C0 
(3?ECT " 

270  IF  TRAt^tBLATEt-l'iORD*  TFCH  GOTO  225 
■280  IF  TRAt-<3LHTE$<>l-tORD$  THEN  LaUNT=COll^ 
T+l^ PRINT  "{UP>ill  RIGHT; [■iRONG!    IT'S  "jW 
ORD$:GOTO  225 

300  ?  -CCLEAR}": PRINT  U^Oj  "  TO  ENGLISH 
TRANSLATOR"  ^F1^:INT   ^PRUfT  "ENTER  ";LANGf 
;"  WORD" 

310  ?   -INPUT  TRANSLATEf 
320  READ  ENGLISH*.  WORDt- 
330  IF  HjRD$=TRA^•^SLATE•|  Ti€N  PRINT  "{LP> 
■C15  RIGHT}"j:pF'INT  ENGLISH*-^ RESTORE   ^GOT 
0  410 

348  IF  ENGLI:SH$<>TRAN:5LATE$  T^€N  GOTO  32 
0 

480  ?  "iCLEAR}": PRINT  "EhGLISH  TO  ".;LAtC 
$;"  TRANSLATOR"^ PRINT  ^PR:INT  "ENTER  BU. 
ISH  IJORD" 

410  ?  ^NPUT  TRANSLATE* 
420  F£AD  ENGLISH*.  WOF;D$ 
430  IF  EfCLI:5H*=TRANSLATE$  THEH  PRIt-H   "i 
UP>{15  right:;-";-- PRINT  LW.D* ^ RESTORE   ^QJT 
0  410 

440  IF  WCS<D*<>TRANSLhTE*  Th€N  fflTO  420 

5^  RBi  RANDOM  WJRD  SUBROUTINE 

510  X=(l+Ihrr(RNO(  1)125)) 

520  RESTORE 

530  FOR  ri=l  TO  X^READ  ENGL  ISH*  .WORD* 

540  HE>iT  n 

550  RETURN 

600  REM  SCORE  SUBRQUTU£ 

610  PRINT    ^PRINT  "OUT  i3F  ";N;"  UOCABULAR 

■■■'  WORDS  I'OU  HhIJE        CORRECTLY  TRANSLATED 

i>  -QruRE  ■ "  " 
620  PRINT   =PRINT  "YOUR  :5C0RE  IS  ";INT(SC 


ORE-;tt(ie0/N));"  PER:  CE[(T" 

630  PRINT   ^PRINT  "Q3  fti^AIH  (Y  OR  N)".:  aH 

PUT  Q*aF  Q*="Y"  THEH  RETURN 

640  IF  Q*="N"  THEN  EhO 

1000  DATA  !D^t.. UN. TWO. DEUX. THR'.EE. TROIS. FO 

UR.  QUATRE.  RED..  KiiJGE.  BLLE.  BLEU.  GREEN.  i.£RT 

.  m\,  HOMME .  CHILD.  EbFANT 

1010  DATA  HAT. C^t^PEAU. PENCIL. CRAYON. HAM. 

J^ON.  EGG.  OEUF.  CITY.  UILLE.  COUNTRY. PAYS. 

OF.  DE.  UNDER .  iSDJS .  tluHDAY.  LU-^DI 

1020  DATA  TUESDAY .  I'ttRD I .  WEDNESDA'-i' .  t'ERCRE 

DI .  :SATURDA'-i' .  SAMEDI .  SUf  OAY .  DIMANCHE.  YES.  0 

ULt«.f™.OLD..AtCIEN  © 


FORTH  programmers: 
COMPUTE!  8 

looking  for  screer^s 

or^d  oppliootions 

articles, 


A 


PROUDLY    presents:  AFFORDABLE 

ATARI® 

SOFTWARE 

RNDRQID    RTTflCK 


FIOHT   YQUH   UAI   THROUGH   LZVE15    OF 
DEJlDLt    UiaaOID  OUAHOS  TO   SkVE  THE 
RUNAWAY   NUCLEAfl   HEACTQB,    THEH   THlf 
T3   3AVE   lOUSSELPt 


AAARRdQGg- 


A   ?A3I.    FSANTIC   CHASE  ABOUND  THE 
SCREES   IRYIK;   to   CATCH   SOKE   CRAZY 
CREATURES.    IF   YOU  CATCR   THE 
■•SUPER-AAAHFUiGflCI*.    YOU'LL  GET   A 
SUPER   BONUS.    BUT   DON'T  GET   POISONED! 


5TflRBR5E  flSSFlULT 

HOU   LONG   CAN    YOU   PflOTEET    YOUR 
STAHBASE   PROII   IRE  ATrACXINC   ALIEN 
iHMADAt   EACH   HIT   WEAKENS   YOUH   FORCE 
PIEUl  RINGS   AND  K0¥  THEY'RE  ATTACKINO 


FOB    Itt  CASSSTIg   OE   24S  DISK 

7i^'e   iS^J?'„?"S?   SBAPrflCS.    ONLY   118.95   EACH 
PLEASE   AIID  tJ.OO   PES   OBDER   FOR   SHIPPING. 


INTRODUCTORY  OPPER- 

nj^rScR^ci;^,^*^^    Pretielland    Software 

zoos  A  WHITTAKER  RD. 
YPSIL  AMTI,  MII.48197 


® 


144 


COMPUTE! 


July,  1982,  Issue  26 


A  map  uj  the  significant  machine  language  roulincs  in 
the  VIC  Super  Expander.  You  can  translate  these 
hexadecimal  numbers  into  decimal,  then  SYS  to  them  and 
watch  the  effects. 

VIC  Super 
Expander 
Memory  Map 

Chuan  Chee 

St,  Catharines,  Canada 


General  Input/Output  Routines 

AOOO-AOOl     Vector:  RKSK  T  ($A()41) 

A022-A003     Vector:  N.MI  (SA()77) 

A004-A008     ROM  identification  ('aOCBM') 

A009-A010     Tabic:  i'limnon  kc\' niitnbers 

AOl  1-A043     Table: iiiiiiaUurulion  kcytlL'Tiiiiiions 

A044-A076     RESET  routine 

A077-A08A    N.MI  routine 

A08B-AOBE   Parse  KEY  (get  parameters  and  chei  k  svniax) 

A0BF-A131     ni.splayall  function  key  dcdnitions 

A  n  0-  A  lie   I'rini  ■"  +  rhrS(;^■l )'  and  an  opiional '  + " 
A 1 1 D-  A 13 1    IVint  ■"  +  chr3(  1 3)'  and  an  optional '  + ' 

A132-A135     Table:  ASCII  string  for  oiiipul  ('key'  backwards) 

A136-A13F    Table:  ASCII  siring  foroiiipiit  ('°  +  chrS(13)' 
backwards) 

A140-A149     Table:  ASCII  string  for  (MitinnC°  +  cbr$(34)' 

backwarcls) 

A14A-A17A   Delete  current  lutictioii  kev  siring  (key  number 

in  ,X) 

A17B-A1B0    I  user  I  sli  inginio  function  key  dednition  area 

AlBl-AlBE  Locate  (unction  key  definition  (key  luiniberin 
.\.  reliun  index  ni  .\) 

A1BF-A213    Table:  new  BASIC  keywords  in  ASCII  form 
A2 I4-A237     Table:  vectors  corresponding  to  new  BASK  ^ 

tokens  (SCX:  to  SDD) 
A238-A2A  I     Iniiiali/e  kenial  vectors,  l/( ),  RAM 
A2A2-A2C1    Table:  keniai  ve<  lors  (I.,l  I) 
A2C2-A2C7    Warm  slart  roiil  ine 

A2C8-A3 1 7    Oui  [)ui  a  character  to  de\  ice  3  (cliar  in  .A) 
A3 1 8-A336     End  unisic  mode 
A337-A365     Inu-i piet  kexbnard  matrix  in[)ui 
A366-A369     Table:  kcvboard  mat  rix  code  lor  luncnon  keys 
A36A-A37 1    Table:  conversion  pattern  lor  fuiicfion  kevs 
A372-A394     IRQ  routine 
A395-A3A5    I  n]ni!  a  cbar  trom  any  device  (dev  ice  number 

in.S<lil) 
A3A6-A3B3   ()nl|uii  a  chai'  loanv  device  {cbar  in  ..A.de^itf 

ntun  iiiS'J,-\l 
A3B4-A3F1     Inptil  eacbcbai'  from  keyljoardbiilTer 
A3B4-  A3E7   llandlcRUN"  kev 


A3E8-A3F1   Handle  RETURN' key 
A3F2-A3FC    Input  from  device <) 

A3FD-A406    I'l  iiit  an  error  message  in  GRAPH  IC  1)  mode 
(i-ifor  lokeu  in  .A) 

A407-A4B9    Lexically  analv.se  BASIC, source  line  (translate 

to  lokeiis) 
A4BA-A503    Print  BASK:  tokens  in  ASCI  I  form 
A504-A529     Start  new  BASICstalement 

A5I5- A523   Handle  new  U)kens($CC  to $D6) 
A52A-A58A   Ci-i  andevalualean  ex])ression 

A558-  A58A    I  land  le  new  I  unction  lokens($I)7  tuSDD) 
A58B-A596    Table:  BASIC  vectors  for  RAM 
A597-A5A4    Clliange  BASK:  vectors  during  RESET 

Music  Routines 

A5A5-A5D0  Save  ciureni  sound  table  (atldiess  of  table  in 

.X..Vj 
A5D1-A601    IRQ  music  driver 

A602-A625     Table:  conversion  for  note  index  to  frecjttency 
A626-A6E5     liiu-rpiei  imisicm()<lecliaraciers(ciiar  it)  .A) 
A629-A643     Execule'O'command, default  .S 
A644-A65D    Execute " T '  command,  default  (t 
A65E-A674     Execute's' command. default  4 
A675-Afi86     ExecmeV'coiiunand, default  7 
A687-A693     Execuie  R'  comitiauti 
A694-A69B    Execine  'P'ronmiand 
A69C-A6A7    Execute  'Q'  contniand 
AGA8-  Pla\'  new  note  (note  index  in  .Y) 

A6AB-A6B3  Sa\  e  new  sound  table  wheti  previous  note 

finisbes 
A6B4-A6B9    Conunon  relut  ii  rnutine 
A6BA-A6CD  Play  notes  'A"  lo  V,' 
A6CE-A6DA  F.xeculc'#' command 
A6DB-A6E5   Execute  'S'  command 
A6E6-A6EC   Table:  conversion  loi  [loies  to  juiie  index 
A6ED-A6EF  Table:  t  cnnt'ision  for  oclave  lit  iiase  iiolc  index 
A6F0-A6F9    Table:  ((>ii\ersion  for  lempo  lodiuaiioii  (jiffies) 

Parsing  New  Command  Routines 

A6FA-  Look  for  and  evalua(e  first  I  -bMe.md  nvn2-l>\lr 

parameters 
A6FD-  Look  forand  evaliiale  lwo2-b\le  paramelers 

A700-  Look  for  and  evaluate  one  2-bvle  parameter 

A714-A71B    Sa\eone  l-bvie  paramelcr(paranictetin  .,\. 
ituU'x  in  .Y) 

A71C-  Look  forand  evaluale  hvo  1  -b\ie  paramelers 

A71F-A72B     Look  forand  eviilualeitne  l-bvte  parameter 

A72C-A73F    Parse  GRAPHIC  (gel  paranietei  sand  cbeck 

svntax) 

A740-A762      Parse  C:iRCLE 

A763-A7A4    Parse  DRAW 

A7A5-A7BC  Parse  POIM 

A7BD-  Parse  COLOR 

A7C8-A7CE  (io lo execule commands aftei- |)arsiiig 

A7CF-A7D8  Parse  RECilON 

A7D9-A7DC  Parse ,St;NC;i.R 

A7DD-A7E9  Parse  SOUND 

A7EA-A809    Parse  CHAR 

A80A-A810    Parse  P.^IM 


VIC-20- 


VIC-20' 


WE  SELL  FUN!™ 


CRAVKROBBKRS  $13.95 

Introducing  Ihc  firsl  GRAPHIC 
ADVENTURE  ever  available  on  Ihe 
VIC-20!  Willi  rciilislic  audio-visual 
cffccls,  you  explore  an  old  deserted 
graveyard  and  actually  sec  the  perils 
that  lie  beyond. 


NIGHT  RIDER 

High    speed     night 
simulator. 


sn,9s 

driving 


TREASURES 

OFTHE  BAT  CAVE  S19.95 

Battle  the  vampire  bats  as  you 
search  their  cave  for  gold  bullion. 
Fast,  real  time  action  will  keep  you 
playing  for  hours.  Of  course,  you 
are  in  a  different  cave  every  time 
you  play. 

COSMIC  DEBRIS  S14.95 

This  highly  addictive  arcade  type 

game  will  keep  you  battling  the 
aliens  for  days. 

Send  for  Jree  calaloe. 

^  II  prtmrann  fit  in  the  standard  I7C  memory,  and  ctin  be  controlled  from  Ihe  ketfyoatd. 

All  pru&rami  on  cassette  mpe- 

Orderi/in— Please  add  St. 50  prntaee  and  handlinf;  per  order. 

PA  resittem-;  please  udd  rt*B  aales  ta.x. 

VICTORY  SOFTWARE  INC. 

20n-A  S.  J.  Rosidl  Circle.  KIkins  P«rk.  PA  19(17 
VIC-20®  (2.5)576.562.. 


STREET  SWEEPER.S  $14.95 

Gobble  up  all  of  the  dots  in  tlic 
maze  before  the  en.suing  nemesis 
gets  yoti.  The  maze  is  different 
every  time,  and  if  you  succeed  in 
getting  all  the  dots,  you  get  progres- 
sively harder  mazes  to  complete  as 
your  skills  increase.  Docs  this  sound 
like  Pac  Man?  it  isn't!  Highly  rec- 
ommended and  exlremcly  addicting. 


VIC-20® 


NEW  VIC-20  AND  PET  PRODUCTS 

^--^COMMUNICATION  CARTRIDGE  -'' 

Makes  VIC  into  tjumb  terminal  with  selectable 
parameters. 

Model     MW-300  49.95 

*»<*- V-DATA  BASE  CASSETTE^** 

Allows  user  do  input  mail  lists,  antd  mini 
inventories. 
Model     MW-301  29.95 

^'>«8  BIT  DIGITAL  TO  ANALOG  CONVERTER 
AND  8  CHANNEL  ANALOG  TO  DIGITAL 
CONVERTER'''''' 

Allows  your  VIC  or  PET  to  output  analog  signals. 
Plugs  into  your  parallel  users  port.  Has  capability 
far  8  channel  analog  to  digital  conversion. 


Moije!     MW-304p     PET  139.95 

Model     MW-304V    VIC  129.95 

MICRO  WORLD  ELECTRONIX  INC. 

6340  W.  Mississippi  Ave. 

Lakewood,  Colorado  80226        C303]  934-1 973 


WUNDERWARE. 

PRESENTS 

GAMES  FOR 

YOUR  VIC-20 

These  gomes  and  many  more!  SerxJ  5Cc  (refundable  with  order]  (or 
ca'olog  and  free  progTam  listing 


THEMADPAIHTE9 

This  game  is  a  nnie  unique 
arxJ  a  loi  of  fun.  Vou  ccxiiTrol 
a  poirT  txu^.  movng  rt 
orcMX'd  a  catortui  more, 
vcxif  ict)  IS  to  poipl  the  eritiro 
rr^re  Tliis  is  rxji  os  easy  as 
It  Kjufxis.  becose  «ri  ii^e 
maze  wiThi  you  are  two  vora 
cious  Braile  Biiers  [they  love 
paint  bfuslies]  CJccaiiono-iv 
you  Will  recetve  a  visii  itom 
an  IfTvrsibie  SlOmper  wtxj 
leaves  footponts  in  you  fresh 
pant.  ReCfuiie&jovs'ick 

$9.95 


SPACE  RESCUE! 

fi/i  lotces  ixjve  ifopped 
tiTfEe  ct  vOLff  men  deep  in 
ttw  perilous  depths   of  the 

dreoded  Dfomedorv  Gov- 
erns on  the  piQnel  ot  Kom-El 
vqu  car  rescue  rtiem.  but 
ttw  tunnel  to  ttw  lower 
chomtxif  IS  nanow  ond  full 
oi  fxj2Qt<js  A  stf^gle  ptovef 
game  against  turie.  StKK:e 
r?escue  keeps  the  top  icofe 
of  tie  day  on  flie  scieen  Re- 
quires loyslick, 

$9.95 


Price  includes  Postage  St  Handling. 
Foreign  orders  and  COD's:  Please  add  53  00 
Calolog  is  included  with  order, 
Piice5  ore  subject  lo  chiange  without  notice. 
Send  check  or  money  order  to; 


SNAKE! 

A  tasi  and  fur  act:ior  game 
tor  ore  player  voute  o  big 
snake  foamirvg  oroond  ft%& 
screen.  Mice.  rot?t?its,  eggs 
orx3  leet  oopeor  ot  random 
Vour  missior  in  life  is  to  btfe 
these  torgets,  Vou  have  to 
be  Quicii  -  the  torgeu  don  r 
stay  'or  ^or>Q.  Tt\e  moir^  p(ob- 
fem  IS:  yOu  always  se&rri  to 
tie  runnirig;  mio  tt>e  wall  or 
into  voursell  {tt^  longer  you 
play,  tt^  longei.  and  horder 
to  avo*d  your  laiil'  Snakei 
Keeps  high  score  and  re- 
quires opystick 

$9.9S 


pnwundefware 

kiiiJ    P.O.  BOX  1287.  JACKSONVILLE.  OR  97SiQ 
VIC-20  IS  a  tegislered  Irodemark  ol  Commodore  Business  Machines 


VIC  -  ao 

Assembler 

Editor  u»cd   co  crcttv   and   update    the   AiMMbly    l«nqijia9»      Goufce- 

proqr*^  liDfAry,  it  ayntai-oheckK  cjch  itAtn^nc  as,  it  ti  cr^ieretl, 
Jllcwini;  anly  valid  Bvn«3ioni.c8  and  adiittMUnq  Dodcj.  tienu  options  «re 
CrcBter    Peine,    Load,    Hfl&Tm,     Inatrt,    Ct^ai^q«,    And    Sdvc, 

ASSEMBLER  Inputs    Hojccp-prograt    s^gaenc*   crMted   vnh  The      Iditor. 
[r      li«c«    ti^t   origLHAl    lource    «s  wbII    sb   the  gtn«f  ted   PArt)ln«   jAn^uaqe 
in    heiadecin#l    ar    decLul^    «nd      optionally      pcoduces      ajchirf      Itr^guagc 
l&ad   aeqcrncE    f^r    The   Ludrr.      Pclncc'r    output    is   Bupporttd. 
LOADER  The   Loader    input*   th*      jD*d      BtgnKhtt      iicm      the      iibr*ry 

uttiXtd  ty  The  ABBe«blp[.  The  r^chlne  Jftnqut^c  pioqimt  1*  POFEd  into 
nevDiy  inri  &KS1C'*  tcp— oi-iiie»oiy  pOlntrc  a*y  be  autoaac;,  cml  ly  re^et  to 
a.  value  ±j»citlf&  in  tht  BOurc«  pro^cw.  the  ]6ddvi:  B«y  be  easily 
ircoipotated  into  Anathtr  SAStC  piaqtm  ct  it  fefty  be  run  ttancl~alone 
and  v:ll  SYS  to  the  ent[y  addiecB  t^citi^d  in  the  Bcurcc  ptcqtt^. 
BIQMIFICAhiT      FEATURES 

The  ABKPsbler  can  dES^nblt-  prcgr*'  se^feentB  flf  up  to  99  stateaencE 
Ofi  the  SJT  vrC-iO  and  several  hundced  0t4t«|tiier^C£  on  iaiqei  syatens.  It 
can  assenblc  an  unliBired  nunbet  o(  such  flegn-enta  in  Bequence,  creatirg 
a  iMd  flc^renc  fur  each.  It  ib  neceaaary  only  to  include  an  EQU  tci 
every  ret er ence-d  latel  vhioh  occura  outalde  the  aegnent^  Thene  is  r.o 
liffit  to  th*  nuw&er  of  UbeJ«  u»»d  D(  (eferenced,  and  labelE  way  be  of 
any    length. 

The  BYT  pseudo-op  -say  deflr^e  luteal  and  hex  atrlnqa  o(  any  length 
AB   well    as    deciaa;    Jat*    and    tddmi   ccnitint*    in    hig^-low    fotnat. 

Opeiand  fieldi  may  include  conple-x  al7eDfAlc  eipreaBion&  utilising 
the  *  -  '  /  1  uriteger  and  ftactiorul  powers  aupportedJj  (  (logical 
A!tr>}  I  1  iloqical  ORi  operatorB,  and  any  nuxiber  af  tervs  ir,  CDtcibir^ationE 
of  decinal.  heKadef  iItaI  ,  ayabolic  address  and  )ltefa]  forofts^  Kegative 
Rurtfiefs  generate   twoB  copiplewent  valued. 

Fverything  runt  fatt,  la  eaty  to  uae,  pleMint  to  look  at,  and 
does    ]uit    wl.dt    yog    mpect     it    to. 

*J4.9'S  •  U.OO  poBtaqe  (  handling.  vjSA/KC  accepted  i»iih  il.OO  service 
charge  and  inclusion  ci  af  ct .  I  and  expiration  diite.  Send  payibenc  ic 
French   SilJc,    P.r^Boji    20"',    Canfton    ralia   HH,    5i0O9, 

VIC-2D    la    a    re'^iateied    trademark   of    CoHnodoEC  Busineii  machines. 


H6 


COMPUTEi 


July.  W82,  Issue  26 


A811-A817  Parse  RPOr 

A818-A81B  Parse  RPEN 

A81C-A81F  Parse  RSND 

A820-A823  P;irsc  RCOL 

A824-A827  P;irsfR<;R 

A828-A842  P:irse  ROOT 

A843-A846  Paisc  RJOY 

A847-A84E  Look  for  first  I -byte  parameter 

A84F-A866  Indircci  jiiiilp  lo  execute  new  com  mantis  fpoinloi' 

to  parainelcisa\e  area  in  .X,.\',  coiiniiancl 

index  in  .A) 

A867-A878  Table:  vector  to  execute  new  commands  (H) 

A879-A88A  Table:  \eciorio execute  new  commands  (L) 

Execute  New  Command  Routines 
A88B-AA22    Kxccnte  (;RAPHK: 

A8AB-  A94E   Handle  tiRAPH  tC  1 ,2,3  if  previous  was  0. 
A8D4-A942   Transfer  BASIC'  program  to  abo\e 

S2()(K)  and  execute  C;LR 
A943-A94E   Make  screen  at  $  I KOO  and  character  set 
at  SI ()()() 
A94F-A9AB   I  landle  GRAPI 1  K:  4 

A967-A9AB    Transfer  BASIC  program  down  to  old 
location  and  execute  CI.R 
A9At:-  A'JBT   IIaiKlleC;RAPIIIC;(Hf  previous  was  1,2.3 
A9B8-  AA22  Sei  up  proper  GRAPH  IC;  sci  cen 
AA23-AA28   Kxecnte  RCiR 
AA29-AA6A  Execute  COLOR 
AA6B-AA84  Execute  REC:K)N 
AA85-AA8B  Execute  R(:0[, 
AA8C-AAE6  Execute  RDOI" 
AAE7-AAF1  Execute  POINT 
AAF2-AB12   Execnie  SCNCLR 
AB13-AB22    Execute  DRAW  (c  TO  x.y  ...) 
AB23-AB34    Execute  DRAW  (cx.yTO  x,y  ...) 
AB35-AB54    Execute  SOLND 
AB55-AB69    Execute  R.SND 
AB6A-AB76  Execute  RPOT 
AB77-AB7D  Execute  RPEN 

AB7E-  Plot  a  sitigle  [)oint  from  parameter  save  area 

AB86-ABE4  I'lot  a  single  point  froni  beginning  .seated  X.Y 

cooidinates 
ABES-  Set  itp  pointers  to  character  and  cohun  meniorx 

ABFA-ACOA  Set  up  ]>ointer  lo  colour  memory 
ACOB-  Draw  a  liiu'  with  a  new  si  art  ing  coordinate 

ACl  1-AC92    Draw  a  line  starting  from  previous  toordinate 

(usinga  version  of  Bresenham'sDD.A  algorithm) 
AC93-AD12    Execute  CIRCLE  (using  principal  oi'digital 

differential  analyser  (DDA)) 
AD  13-  Convert  starting  angle  to  radians 

AD19-AD22  Divide  FAC#1  by  1(1 

AD23-  C^alctilate  new  scaled  \and  \' coordinate  on  loctts 

AD39-AD6B  Calculate  unit  offset  *  scaled  radius 
AD6C-ADDE Execute  PAIXT 
ADDF-  Check  for  po.ssibie  new  lower  bound  pivot 

coordinate 
ADE8-AE01   Sa\e  pi\olco(>i'dinate 

AE02-AE0B    CJheck  for  possible  new  uppei  boLind  pi\()l 
coordinate 


AEOC- 
AEOF-AEIE 

AEIF-AE23 
AE24-AE3B 
AE3C-AE44 
AE45-AE51 
AE52-AE56 

AE57-AED9 

AEDA-AF13 

AF14-AF33 

AF34- 

AF39-AF3E 

AF3F-AF47 

AF48-AF75 
AF76-AFB0 


AFBl-AFBA 

AFBB-AFCE 

AFCr-AFE2 

AFE3-AFE5 
AFE6-AFE6 
AFE7-AFEE 
AFEF-AFF6 
AFF7-AFFA 
AFFB-AFFE 

AFFF-AFFF 

Note: 

(H): 
(L): 
Vector: 

Pointer: 
Index: 


Check  if  able  to  PAINT  a  coordinate 

C";heck  if  able  to  PAI  NT  a  coordinate  (X,Y 

in  .A,.Y) 

Move  beginningscaled  X,Y  coordinate  tt)  .A..Y 

(  Jieck  ilcoortlitiale  has  been  alreadv  plotted  on 

.Move  begiimingscaled  X  coordinate  to  the  right 

Move  beginning.scaled  X  coordinate  2  to  the  left 

Flag TORMULA  TOO  COMPLEX' error 

message 

Execute  CHAR 

Execttte  RjOV 

Set  tip  correct  VIC  chip  screen  registers 

Save  number  of  coordinates  and  colotir  register 

.Save colour  legister 

Copy  beginning  from  endingscaled  X.N' 

coordinate 

Scale  X  and  Y  cooixlinales 

Scale  X  or  Y  coordinate  lo  the  range  (I  to  159 

(.X  =  .A*coorditlale*2/2.^^i)  (number  of  columns 

or  rows  in  .A) 

Table:  vectoi'  to  map  V  coordinaie  lo  lolour 

memor\  (L) 

Table:  vector  to  map  X  coordinate  to  character 

memory  (L) 

Table:  vector  to  map  X  coordinaie  to  character 

!nemor\'  (II) 

Table:  bit  set  ibi  coloui  inemoi) 

(not  used -contains  SOD) 

Table:  bit  mask  for  high  res  mode 

Table:  bit  mask  for  mutticolour  mode 

Table:  bytes  to  plot  in  mullicoloui  mode 

Table:  conversion  (actor  for  \'  I(U  hi))  sireen 

registers 

(not  iisecl  — contains  SA A) 


high  byteof  a  two-byte  address 

loiv  byte  of  a  ivvo-bytc  address 

two-byte  address  used  for  indirection  of 

execution 

nv()-l)vteaddiess  for  data 

one-bvte  of  fset  f  or  a  table 


General  RAM  Area 

0024  Ntiint)eroi  coordinates 

0024  Flag:  cofotir  register  mode  ($FE  =  nmltico!our. 

S()0  =  highies)' 

0024-0025       Pointer:  New  start  olvarialiles/ started  BASIC 

mcmcM") 
0026  Temp  area  for  building  VICclii]!  registers/  lor 

bu ilding  character  bvte  /  for  sa\'ing  start  ol 

BASlc'd.) 

Current  Coordinates 

0062  Endingscaled  X  coordinate  (I)  to  1 59) 

0063  Beginning  scaled  X  coordinate  (0  to  1 59) 

0064  Scaled  X  difference  (absolute  value) 

0065  Ending  scafed  \'  coordinate  ((1  to  1 59) 

0066  Begiiuiing scaled  Y  coordinate  ((t  to  1 59) 

0067  Scaled  Y  difference  (absolute  \alue-  1) 


World's  Most  Cost  Effective  Development  System 


i£ 


MODI 

ptoo 


• 
• 


■  UtN 
MOOE 


II 


•  LOCK 

li 


i^iiriifiiiiiiiiilllll 


•Type  your  programs  directly 
from  your  Commodore  VIC-20 
keyboard  into  the  built-in 
4  kilobyte  ROM  emulator 

•  Jumper  direct  to  target 
ROM  socket 

•Test  programs  in  circuit 

•  Burn  them  direct  to  EPROM 
with  built-in  EPROM  pro- 
grammer and  power  supply 

•  Burns  &  runs  EPROMS 

for  the  Commodore  VIG-20,  too 
•Software  on  EPROM  included 

•  Comprehensive  25  page  manual 

•  Fits  EXP  PORT  or  SUPER  EXP 
Leaves  user  PORT  free 


PROMQUEEN  CARTRIDGE  COMPLETE  ONLY  $169.50 

manual  available  separately  for  $20.00  credited  on  cartridge  purchase 
Jumper  Gable,  2  ft:  $1 8.50  wilhi  cartridge;  2732A  EPROMS  SI  2.50  eacfi  with  cartridge 


Gloucester  Computer  Bus  Co. 


6  Brooks  Rd.,  Gloucester,  MA  01930 
617-283-7719 


Shipping  charges  for  all  items  extra,  (Vlass.  residents  add  5%  tax. 
VISA  AND  MASTERCARD  ACCEPTED 


TAYLORMAOE   SOFTWARE     •     TAYLORIVIADE 


1or  the  COMMODORE  VIC-20 

AEROBICS  POINTS 
CALCULATOR 

^  Now  you  can  monilor  your  Illness  program. 

j;     Enter  your  lime  and  (distance)  lo  learn  yourl 
exaci  aerobics  points  earned  and  caloriesi 
iised    For  distance  activities  learn  your 
yards/mm  .  M.P.H..  and  min/mile.  Savel 

^  your  weekly,  monlhly.  and  year  aerobicsl 

^  points  tolais  on  the  tape  daiasselte.  See  al 
bar  grapti  on  the  screen  ol  your  average] 
weekly  aerobics  points  lor  each  month. 
Easy  to  use.  all  selections  are  made  Irom  a| 
menu  by  a  single  keystroke. 

Two  programs  come  on  one  tape  cassette; 
One  for  Ihe  basic  VIC-20  (3583  bytes)  will 
calculate  aerobics  points  for  running,  wafk- 
ing.  cycling  and  swimming.  The  second 
program  'equires  3K  memory  expansion, 
and  will  also  calculate  aerobics  points  for 
25  additional  activities 

Cassette  and  manual... U.S.  SZ4.95 

(U  S  ana  Canada  shipping/tiandimg  Si. 50) 
(Foreign  shippmg.'handliung  S3.00! 

TAYLORMADE  SOFTWARE 


COMMODORE  DEALER 


|VIC-mendous[ 
Software 


Clowns 
Air  Targets 
Depth  Charge 
Easy  Hi-Res. 
Guided  Missile 
3  Nuclear  Attack 
Robots 


i 


P.O    Box  5574     I 
Lincoln,  NE  68505 
(402)  464-9051 


MSA- 


Tank  Invader 
Break- A  way 
Dungeon  X 
Easy  Multi-Color 
Gunner 
Replace 
Tank  Battle 


rt 


:       Each  For  Only  *9.95        | 


H    Chomper 

c  Brain  Warp. . , . 
Music  Machine 
CW  Trainer. . . . 


»12.95 
n2.95g 
*12.95E 
U5.95 


I 


fviC  1^  a  irademark  ot  ComrTKXiore  Bjsiress  Machir>es  inc  | 


TAVLORMAOE  SOFTWARE 


TAYLORIVIADE 


RANDOM  ACCESS 

COMPUTERS 

120  Benning  Drive 

P.O.  Box  1453 

Dwtin,  Florida  32541 

Ph:  904-837-7201 


COMMODORE  DEALER 


MIGHTY "V" 
TO  THE 
RESCUE 


VIC  20" 

BUSINESS  AND  HOME  SOFTWARE 
That'll  KNOCK  your  Mainframe  OUT!! 

BY  TSASA 


Now  available  on  cassettes  - 


THE  MORTGAGE  CALCULATOR  C 

THE  GASOLINE  UN-GUZZLER  C 

THE  BILLING  SOLVER 

THE  CLIENT  TICKLER  CP 

THE  TAPE  GENI  C  P 

THE  ACCOUNTANT  C  P 

THE  BAR  CHART  C  P 

CASH  FLOW  C 

THE  DEPREDATOR  C 

BUSINESS  INVENTORY  CP 

THE  BIDDER  C 

THE  TEIUPERATURE  CONVERTER  C 

FIND  THE  WORDS  CP 

DEAR  DIARY  C 

PROFIT  SHARING  PLAN  C 

LEASE  BUY' C 

RATIOS  C  . 

PRESENT  VALUE  C 

THESYNDICATORC 

MOTHERS  RECIPES  CP 

THE  TAPE  WORM  C  . 

THE  CLUB  LISTER  C 

AT  HOME  INVENTORY  C 

UTILITY  BILL  SOLVER  C 

VICKY-CALCC 

BIRTHDAY  GUESSERC 

THE  METRIC  BRAIN  C 

ROLL  DA  DICE  C 

THE  TICKER  TAPE  C 

THE  SUPER  BROKER  C 

THE  MORTGAGE  COMPARER  C 

THE  RULE  OF  78  C 

MATH-A-MAGICIANC 

HOME  BUDGET  C 

IT'S  TRAVEL  TIME  C 

YOUR  MEDICAL  RECORDS  C  P 

THE  INVESTMENT  ANALYST  C 

THE  PHONE  DIRECTORY  CP 

THE  AMORTIZERP 

THE  CHECKBOOK  BOOKY  C  P 

IHE  INCOME  &EXPENSERCP 

THE  LOAN  REPAYERC  ,      ,  . 

MY  CREDIT  CARDS  CP 

GRADE  MY  KIDS  CP 

NET  WORTH  STATEMENT  CP 

THE  SAVINGS  ACCOUNT  MIZER  C 

CALENDAR  MY  APPOINTMENTS  P 

MIXED  UP  WORDS  C 

THEBUDGETERC 

PRINT  MY  PROGRAM  P 


[j    1 

i :  2 
r:  3 

[  :  4 

■  1    5 

I       6 

7 

8 

9 

i     10 

111 

!  .12 

;   :13 

:     14 

]15 

'     16 

17 

18 

;i9 

20 

21 

22 
:    23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 
;    35 

35 

37 

38 

39 

40' 

4! 

42 

43 

44 
145 

46 

47 

48 

■IS 

50 

JUST  RELEASED 

51    JOGGERS  LOGGER  C 
152    NUISMATICPHANATICC 

53   SUPER  SHOPPER  CP 
i54    PERT   MY  Vice 

55    LINEAR  REGRESS  C 
!56   STATISTIC  SADISTICSC 

57  TRACK  MY  WEIGHT  C 

58  LIGHTNING  SORT  C 

59  GOLF SCORECARD C 
50  ORDER  TRACKER  CP 

'    Copyright  TSASA  1981 
FflEE  CATALOG 
Specify  CRT  TV  (C)  or  (P)  Pnnter 
Programs  available  direct  Irom  TSASA  or  al  fine 
Computer  Dealers  Nationwide 

DEALER  INQUIRIES  WELCOME 


S  8  95 
S  8.95 
S1995 
519.95 
S  9  95 
S29.95 
S  8  95 
S13.95 
SI  0.95 
SI  8  95 
514,95 
S  B95 
510  95 
S12  95 
S18  95 

514  95 
S  8  95 
S12  95 

515  95 
S12  95 

512  95 

513  95 
512  95 
S1295 
S12.95 
5  8.95 
51095 
512  95 
S16.95 
S12  95 
S  8  95 
S  9  95 
514.95 
512,95 
S1095 

514  95 

512  95 
S  9  95 
£24  95 
S1295 
S14  95 
S10.95 

514  95 

515  95 

514  95 

513  9S 

516  95 
S  3  95 

515  95 
S  3  95 


511  95 

51 2  95 
512  95 
516  95 
516  95 
515  95 
S12.95 
SI  2  95 
511  95 
518  95 


Send  ctieck  or  MO  with  SI  ,50 
Postage  &  Handling 
COD  add  $1.50 


TSASA 


NAME 

ADDRESS . 

CITV 

STATE     _ 


ZIP. 


[  I  SEND  FREE  CATALOG 
Mad  to:       2ChipleyRLjn 

West  Berlin,  NJ  08091 
Telephone  (609)346-3063 


we 


COMPUTE! 


July,  1982.  Issue  26 


For  Scaling  Coordinates 
0069  Miilli|>lu;in(l-  I 

006A  1  fi-liit  iHotkici 

006B-006C      l(l-l>iiiiuilii])li(.-r 

For  DRAW 

0069  Srak-dX  unit  (liicTi ion-  I 

006A  Sciik-d  V  imii  cliteciton 

006B-006C      \'iimhci()fs(;ik-(l  Y  iinils  Icll  In  plot  hcfoic  tu-xl 

staled  \  uiiil  (cnuiil  up) 
006D-006E     Nimihi'i  ol'iJoiiii.s  k-l't  lo  pkii  ((oiiiii  up) 

For  PAINT 

0069  Index:  pivdi  (oo!(itn:itt'.ss;i\ojnea 

For  CHAR 

0069  (:urrfiilrmv{0l()  19) 

006A  (:uiri.'nUoUitim((ll(i  HI) 

006B  Li'iif^iholsti'lii^ 

OO6C-006D  P(iiiiter:siiiii^  I. nation 

General  RAM  Area 

009B  Index:  iHninin^ofciiirciil  limtliou  key 

(k'liiiilion 

009B-009C  Pointer:  i  uin-iil  i  liar  set  iiddrcss  /  b\[v  in  rhar 
si'l .'  pnsiiion  in  scifi'ii  iiii'moiA/'  (k-sliiiatioii  ol 
l)vlco(  HA.S[(;]iiograiti  loiraiisiei 

009D  Index:  cud  ol  (  uik  I  ion  kc'\  definition  area 

009E  (Utrient  luiKtior)  key  nintibcr/  lens^tliof  ciineiit 

linuiioii  ke\  sliitiiT 
009F  I.ciigtli  ol  (III  It'll  I  fu  nil  ion  kev  ^l^inl^  (coin  it 

down) 
009E-009F      Poinier:  l)ytein  colour  nieinory 
OOAC-OOAD   Pointer:  current  byte  {I  uiu  lion  key  delinition. 

t;i])c,  scrollitif^) 

00C3  Flag:  D^liavcn  aiisrcncd  BASIC:  piogiam  to  a 

new  loc  alion 
00C3-00C4      Pointer:  kcinalsel  np/cLnrenl  in nsit  table/ 

paranietersavc  arc:i  (S(t8!K:) 
OOFB-OOFC     Pointer:  lopol'BASK;  nienioi  \  (usnalK  sanieas 

S02H-l-|(t28')) 


For  Key 

028F-0290 

02A1 

02A2 
02A3 
02A4 

For  Music 

02A5 
02Afi 
02A7 
02A8 
02A9 
02AA 
02AB 
02AC 


Vector:  interpret  ke\'boai(l  input  (SA337) 

Niniiberol  bytes  taken  b\Su])cr  Kxpander  in 

hii^li  IncllH)|■^■(SK8) 

Niniibeiiil  Characters  in  Itnit  lion  kev  del'initioii 

Index:  cm  rem  byte  ol' function  keystiinj; 

Lcnglb  ()(  fiinctioii  key  string  (annum!  left  to 

otitpttt) 

l'tc\ionMhara(ter  in  music  mode 

Music  i]iode  (S8()  =  on) 

Screen  ci  ho  (SfjO  =  i  m,  SOO  =  ol  I) 

Current  \i)ic  c  (sound  reg;istcr  -  I ) 

Ciirient  note  index 

(iiii'ieiil  dnralioii  (jiHie.s) 

tairrcnt  suntid aniplluidc (vohniu; * 2) 

(airreiil  octave  (base  note  index) 


02AD  \'oicc  1  iiotcin<lc'X|  +  S8()) 

02AE  Voice  1  duration  count  down  (jirfies) 

02 AF  \'oice  2  noie  index  ( +  SHO) 

02B0  \di(  e  2  duration  coinit  down  ((llfics) 

02B 1  Voice  :i  nole  index  ( +  $,S()) 

02B2  N'oice  3  duration  coiim  down  (jiffies) 

02B3  \'oice4  note  index  ( +  $80) 

02B4  Voiccl  duration  count  down  (jiffies) 

02B5-02BF     (forcxjxinsioii) 


For  Execution  Of  New  Commands 

O2CO-02C2     Jump  table:  cxecnie  new  i()iniiiands(IMP$A84F) 

02C3 

02C4 

02C5 

02C6 

02C7 

02C8 

02C9 

02CA 


(anient  \'1(:  cliip  left  inaigin  register 

CAirrenl  Vl( '.  chip  lop  inai  i^in  register 

(anient  \'K!  chip  niniibcroi  columns  register 

(Lauren!  \'l(  Chip  ninnber  «jf  rows  register 

Clini  ent  row  of  cursor 

CnneniCRAI'IIICmode 

(lor  expansion) 

Clurrent  colour  t  cgistei  ])aranieler  (while 

plotting) 
02CB  (ainent  screen  coloitr 

02CC  C^urrcnl  bordercokmr 

02CD  tairrent  character  colour 

02CE  Caineni  auxiliar\  coioni 

02CF  Index:  parameter  save  area  (while  ploiiing) 

02D0  Catrrent  character  set  address  page 

02D1  L'snalcbaracter  set  address  page  iSSO) 

02D2-02D3     Pointer:  old  liniil  o)  BASK  :  metnorv 
02D4  Old  screen  nieniorv  j)age 

02D5  Last  scaled  \coordinaie(0  to  I")*)) 

02D6  Last  scaled  "i' coordinate (0  to  1 59) 

02D7  Flag:  S(l(t  =  DRAW cx.y  f O,  $(11=  DRAW c   I  (> / 

current  iiuiuberol  on!  ol  range  coordinates 

($1)11  =  within  range) 

02D8  Old  number  of  out  of  range  coordinates 

(SOO  =  within  range) 

02D9  Index:  paranieiei  sa\carea  (while  getting 

p.uamelers) 
02DA-02FF     liorexpansion) 

Operating  System  Vectors 

0300-0301  Vector:  error  message  (SA3FD) 

0302-0303  Vector:  bask:  warm  start  (Sc:lS3) 

0304-0305  Vector:  lexicallyanalvseBASICsoiiKe 

line  (SA107) 

0306-0307  Vector:  print  BASIC  tokens  in  ASCI  I 

form  (SA4BA) 

0308-0309  Vector:  start  new  BASIC  staicineni  (SA.'jOl) 

030A-030B  Vector:  get  and  evaluate  an  expression  (S  Ar)2A) 

0314-0315  Vector:  IRQ  ($A372) 

0316-0317  Vector:  BRK  insiriiction  (SA2C:2) 

0318-0319  Vector:  NMl  (SFKAD) 

031A-031B  Vector:  bask:  OPKNstaktneni  (SFIOA) 

03IC-031D  Vector:  BASIC  CI.OSK  stalemenl  (SI':MA) 

031E-031F  Vector:  set  input  ($I''2C:7) 

0320-0321  Vector:  set  out  pit!  (SF;^09) 

0322-0323  Vector:  restore  I/O  (SF:<F3) 


0324-0325 

0326-0327 

0328-0329 

032A-032B 

032C-032D 

032E-032F 

0330-0331 

0332-0333 

0334-033B 

Save  Area 

033C-03F8 

For  Circle 
033C 

0347-0348 

0349-034A 

034B-034C 

034D-034E 

034F-0353 

0355-0359 


Vector:  iHj)tit  a  cli.iractcr  (SA395) 

Vector:  cuKpm  a  cliar;<tter  (SA3A6) 

Vector:  test  S  TOI'  key  (SF770) 

Vector:  BASK:  CKT  siaaniciu  (SFlI-n) 

Vector:  :il)on  I/O  (SI'^KK) 

Vector:  user  BkK  insii  uttion  (SA2C2) 

Vector:  BASIC  LOAD  siaienient  (SF549) 

Vector:  BASIC  SAVE  s(;ttenietu  ($F685) 

(f'(iic\pa:isii)n) 


Save  area:  paraiiielcr  jMSsing  /  ]>i\ni  touitiiiuiiL's 
(PAIN'I") 


Index:  \  ni  'S' 

Old  scaled  X  (.ociidiiiate on  lotus 
Old  staled  ^'tooicliiiaie on  locus 
New  scaled  X  coordinaie  on  locus 
New  scaled  ^'  coni-dinaleon  locus 
l-loaiingpuiiil  uiiil  olTsel  X  coordinate 
Floatingpoiiu  unit  olTsel  V  coordinate 


Your  VIC-20  Will  Smile... 
SUPERFONT 

Design  programmable  characters  on  your  VIC-20 
with  this  easy-to-use  program.  Especially  useful 
when  creating  animalions,  since  you  can  edit  (our 
characters  at  once  as  a  2  x  2  block. 

SAFARI 

You  are  a  photographer  on  an  African  Safari  in  this 
great  game.  The  jungle  animals  run  past  as  you  try  to 
snap  Iheir  pictures.  An  excellent  example  of  how  to 
use  large  blocks  of  programmable  characters  on  the 
VIC  to  create  animation  effects. 

QUIX 

How  good  is  your  memory?  QUIX  presents  patterns 
of  color  and  sound  that  gradually  get  longer  and 
harder  to  remember. 

These  three  excellent  programs  are  available  on  the 
VIXEL  #2  cassette  for  the  standard  5K  VIC-20  for 
only  $12.95  in  the  US  and  Canada.  Foreign  orders 
add  $3.50  for  shipping.  CA  residents  add  6%  tax. 
VISA  and  MasterCard  welcome. 


VIXEL  IS  a  trademark  ol  The  Code  WorHs, 

VIC-20  IS  a  trademark  ot  Commodore  Business  Mactiines. 


TheCode  Works 


Box  550,  Goleta,  CA  93116  805/683-1585 


TRANSFORM  GRANDPA  "PEr"" 

INTO  A  YOUNG  VIBRANT  "PET^""'BY  UPGRADING 

TO  4.0  BASIC 


Socketed  P.C.  Board  that  will  plug 
into  your  ROM  Sockets  and  accepts 
Commodore's  24  Pin  ROMS  4.0 
BASIC  Interpreters  (ROMS  not 
Included):  When  used  with  LC.  Clip, 
soldering  is  nninimal.  Please  check 
nunnber  of  pins  on  your  ROMS 
before  ordering. 


RB-4  (for  28  Pin  ROM  "PET"")  $49.95 

RB-4  wilh  I.e.  Clip  69.95 

RB-4A  (for  24  Pin  ROM  "PET"")  49.95 

RB-4A  wilh  I.e.  Clip  69.95 

Please  include  SI. 50  each  for  shipping  and  handling. 
California  residents,  please  include  6%  Sales  Tax. 

10%  User  Group  Discount  for  Purchase  of  5  or  More  Units. 
Send  S.A.S.E.  For  Free  Catalog. 


BETTER  SOLUTIONS 


505-589-1100 


4605  RIPLEY  STREET  •  EL  PASO,  TEXAS  79922 


"PET"  IS  a  trademark  of 
Commodore  Business  Machines,  Inc- 


e  ]9S2  BETTER  SOLUTIONS 
ALL  RIGHTS  RESERVED 


FINALLY,  1200  BAUD 

At  A  Reasonable  Price 


$175  PET  Terminal  Emulator 
$495  U.D.S.  212  Modem 
$600  Our  introductory  Price 

PET  Terminal  Emulator 

•  Choose  from  3  terminals 

•  Up  to  4800  baud 

Universal  Data  Systems  212  LP 

•  1200  baud  modem 

•  call  for  modem  only  price 


AMPLIFY,  INC. 

2325  Macbride 

Iowa  City,  Iowa  52240 

319-351-4775 


150 


COMPUTEI 


July.  1982.  issue  26 


This  concludes  a  three-part  series  on  getting  started  in  machine  language. 

Part  III 


Machine  Language:  First  Steps 


Jim  Butterfield 
Associate  Editor 


In  the  two  previous  episodes,  our  intrepid  hero,  F. 
R.  Vescent,  has  coded  the  following  bar  graph 
program  in  machine  language: 


027A 

A2 

30 

LDX 

#$30 

027C 

AO 

00 

LDY 

#$00 

027E 

E8 

YLOOP 

INX 

02  7F 

EO 

3A 

CPX 

#$3A 

0281 

DO 

02 

BNE 

SKIP 

0283 

A2 

30 

LDX 

#$30 

0285 

8A 

SKIP 

TXA 

0286 

20 

D2 

FF 

JSR 

$FFD2 

0289 

C8 

INY 

028A 

cc 

00 

03 

CPY 

$0300 

028D 

90 

EF 

BCC 

YLOOP 

028F 

A9 

OD 

LDA 

#$0D 

0291 

20 

D2 

FF 

JSR 

$FFD2 

0294 

60 

RTS 

After  finishing  the  codingjob.  he  enters  it  into 
memory  using  the  machine  language  monitor  like 
this: 


027A  A2    30  AO  00     E8     EO     3A    DO 

0282  02     A2  30  8A    20     D2    FF    C8 

028A  CC    00  03  90     EF    A9    OD    20 

0292  D2    FF  60 


With  the  machine  language  program  in  place, 
F.  R.  returns  to  BASIC  and  writes: 

200  DATA  15,10,30,35,28,28,15,0 
210  READ  V:IFV  =  0  GOTO  300 
220  POKE768,V 
230  SYS  634 
270  GOTO210 
300  END 

The  program  runs  properly,  but  the  machine 
language  is  in  the  first  cassette  buffer,  and  this 
makes  it  hard  to  SAVE.  F".  R.  uses  the  following 
piece  of  trickery  to  make  the  ML  coding  more 
tractable:  He  types: 

FOR  J  =  634  TO  660:PRINT  PEEK(J);:NEXT  J 

634  is  the  address  of  the  start  of  the  ML  pro- 
gram ($027A)  and  660  is  the  address  of  the  last 
byte  ($0294).  So  what  F.  R.  is  doing  is  writing  a  line 
to  cause  the  program  to  be  dimiped,  byte  by  byte, 


to  the  screen.  He  will  gel  something  like: 
162     48     160     0     232     224     58... 

There  will  be  two  spaces  between  each  pair  of 
ntmibers.  Now  F.  R.  does  some  clever  screen 
editing.  He  places  the  cursor  just  before  the  4  of 
48,  and  presses  the  DEL  key  and  the  comma.  Now 
the  two  numbers  read  162,48  ...  and  F.  R.  moves 
the  cursor  ahead  to  just  before  the  1 60  and  repeats 
the  sequence.  Eventually,  he  gets  a  long  line  of 
numbers  willi  commas  between.  He  does  not  press 
RETURN,  but  backs  up  to  the  beginning  of  the 
line  and  types  several  Insert  keys;  now  he  has  room 
to  enter  the  extra  information  "  i  10  DATA".  Now 
he  presses  RETURN  and  the  bytes  of  his  machine 
language  ]jrogram  are  entered  as  part  of  a  DATA 
statement. 

There's  another  line  left  over  and  he  must 
repeat  the  editing  sequence  to  create  a  1 20  DATy\ 
...  line  and  complete  the  DA'IA  recording  of  his 
program.  Now  he  tvpes  in  line  100: 

100  FORJ  =  634TO660:READM:POKEJ,M:NEXTJ 

The  whole  |irogram  should  now  read: 

100  FORJ  =  634TO660:READM:POKEJ,M:NEXTJ 
110  DATA  162,48,160,0,232,224,58,208,2,162,48,138, 

32,210,255,200,204,0 
120  DATA  3,144,239,169,13,32,210,255 
200  DATA  15,10,30,35,28,28,15,0 
210   READ  V:IFV  =  0  GOTO  300 
220  POKE768,V 
230   SYS  634 
270  GOTO  210 
300  END 

Now:  whenever  we  say  RUN,  tiie  machine 
language  program  is  POKEd  into  place  (line  100) 
before  the  main  pr(jgram  uses  it.  We  may  now 
safely  SAVE  the  BASIC  program  to  tape  or  disk 
without  worrying  about  how  to  save  the  machine 
language  part.  The  B.\SIC  program  makes  its  own 
machine  language  where  it  needs  it. 

Serious  programmers  will  think  of  more 
efficient  ways  to  convert  the  program  into  easih' 
SAVEable  code.  More  advanced  machine  language 
programmers  will  Find  better  ways  than  DATA 
statements.  But  this  is  a  start. 

We've  traced  a  machine  language  program 
tlirough  its  conception,  assembly,  and  implementa- 
tion. It's  not  too  hard  a  job,  and  there  are  aids  to 


July.  1982.  Issue  26 


COMPUTE! 


151 


help  you  along  the  way. 

This  example  was  picked  because  it  presented 
a  faidv  easy  challenge.  Even  so,  it  look  us  three 
iii.stallnienis  to  .sec  il  ihroiigh.  The  bigger  jobs  are 
n(.)t  much  harder;  most  of  the  work  was  in  the 
housekeeping. 

For  beginners  who  have  never  followed  the 
whole  process  through,  it's  a  worthwhile  exercise. 
Once  you've  seen  the  trick  done,  you  can  see  how 
todovourown.  S 


Use  the  card 

in  the  back 

of  this  magazine 

toarderyour 
COMPUTE!  Books 


VIC   PET  APPLE   SOFTWARE 

^C3unfVICS  -  lull  icrrrn  iuptr  fiJphjci  pickjtr  fof  The  VIC,  Addl  M 
\^  comrruindi  to  BASIC.  Ptiw  detailed  pictutri  ulin|  1SZ  X  MO  points. 
HI  rei  £  KuIliccIof  gilphic  rrodri  of  t*mc  icictftf  SwMc^  bflwrf^  Itut 
«nd  luphlcii  tc'eefii  i^nh  function  fceyt.  S*wf/I(j»d  piciuiei-  lo/fion* 
tlpe  or  d||.k.  ftfQiiitv-%  3K  or  tK  mpifldvr.  Wllh  « arrr*  If'  p  c  o|r  imi  t  #n(j 
u\*i'i.    rrunml.       Pricr    ili;    runu«l     anty    M. 

VJC/FET   V1C11  -       lnlctiCli«»      Camel     Imrtuaie     -     Ptotum   your    own    or 

p  l«V  t^t  9  jamei  i/tcludcd.  Wiih  60*  powr  r  fu  i  corTmandi  .  Eaty  to 
l#jcn.    VIC    irfiiton    h«(     (nlor     jif^uircj    311    oi     *K    «^p4ndCf].       Corrv  I  ^  I  < 

with    vi*f'i    minuiil.       Pftrt    S35:    minujl     only    HO. 

VIC/FET    riPIB  -       (hr      uLfSK    JUACMInE     -    Surrpf*!!    ■*ay    yrt     lo    cWTi>D»e. 

Coi^duCl  *nd  plav  fTViic^  Campt*ie  mjjic  conlfol  o)  not«i.  r#ili, 
«ol  \fmf  .  ifptm,  ttfnpo,  «■(  C  ,  Wtp  L 1  ci^  \n  f  lii  rruchtnc  tintuJi^  •  Wl  1^ 
t  *mpl*    compoi  iiion*     4ft(f    ijirr'j    rrunual,     Pritr    (25,    mjnui  I     only    JS. 

VIC  H] RES/MULT ICDLOK  CXAPHICS  UTIDTIES  -  Add  irjphici  to  ViC  BASfC. 
Rrqui>c»  no  rilrj  ircmoiv..  Plot.  potnrii,  linn  ^fid  hOKCf  in  tint 
del*! I  -  104  %  1S3  poinli.  With  lAmple  profrann  tnd  ultf'%  manuil. 
PiPiC«    nS;    lYUnuAl     ftnly    13. 

PET  TIWV  P«tcil  PLUS*  -  itiuclurrd  Uniua|f  ^rt^rnaiivf  to  BA5IC. 
Wt  1  h  Edi  toi  ,  CcfTfii  let  ind  lnr»ipfei«f.  All  prOjrinminj  com  t  fuci  i 
i\ippat%ed,  W|  I  h  usri'i  ranual.  Cpaphici  <3f  oort'g  r  ip  h  i  c  t  vrrtioni. 
FO'       NEW/4, 0/»niZ.  w/i( iphicif JJKl       -    dilk    15D,     ^iiiciic    J5S.       W/0 

|f  iphi  ct !  UK*1-  diik    JIS.    C4iirt(r   t*0.   manu»l    only   HO. 

^r^AppLE     II    [TlNASOFT    PiIcbI    -    corrplft^    Paicil     ricvfloptne'l^  t       iyltpm      with 
^       Ednor,  CcWBiltf,        trifrpreler       j<^d       iupt-Tvitoi.       All       proiurrmint 

cojiilrucTi  and  daii  lyp^l  itltari,  chjr^  Mrrtf,  poknt^r,  intcfrr. 
Hire*,  Lort%  »nd  tntrhmt  itn^uaf*  intrrljrp.  Wiih  ijnvl(  p/OBr*nl 
*ftd  ulrr'i  nvnual.  DuV  150;  l^iik  wiTh  coorlrt*  rnjch.n*  [«4d)hlt 
TOu'Cf    todr    SflS;    rruniia  I     only     t1D, 

PET    TINT    BASIC   CCMPIIEB  -       PioduCti     Tfur    4S02    cod^.     ■Suppo.M     #11 

Moattni  poioi  g;i»rjl<nn,.  SubtVI  ol  iht  lull  PCF  BA&lC.  Cpmplln 
liiTint  DpUdnal  wjlh  1bK  vcnloFV  lincluded).  With  uiff'i  manuj  I  ■ 
For    OID/N[W/<.0/BD3J    »nd    ftH-.       Price    *7S;    m^nui r    unty    IS. 

PET  MACMINf  lANauCI  CUIOf  -  Nd»  U  i  I  ],  ninth  printinf  Itttn  th.- 
hiddtii  ta)»nti  of  you'  Old,  P<rw  oi  *.n  (tom  PIT/CBM.  30-  loutlntl 
lullv    deijilfd.     PfiC«    S9    (in     (o'fijft). 

^T  ABACUS    -    BFJutilully     crafted   Ctnon*    abacui.       Te^ach    childfen       hailci 
^      of       rrtilh       or       ui*       m%        lout^ly       dKorJlion.    Wirh     t  r*g    50*    ot^    rninu*  I 
eiplainlnt    ul«.     Price-    *14.q5     .    lJ.nf>    notlagt-     I  i<TITC~/o  re  i  |r  1 . 


iBfMinil! 


mmnii 


ABACUS  SOFTWARE 

P.  O.  Bo.  721 1 

Grand  Rapids.  Michigsn    49510 

B1B/  e41-5B10 

Unlet*    noied,    pHttl    are     lar    cit,|.|t^.       Add    li.pQ    pg  r    d.ik      ptcfctge, 
Fo/eiin      ofd*r»     Idd    IS. 00    per    pjck^je    or^TT.OO   Tot    m»nim"onlv.       *ll 
.ordef>    rmit     be    pitpaid    in   US    Do  I  t  i  n .    VISA,    K,     ACCESS       Eufocjrd. 


TAis  is  the  safety  net  you  need  to  avoid  losing  hours  of 
programming  time  when  a  power  failure  or  a  keyboard 
lockout  strikes  your  Atari. 


Atari  Variable 
Tabie  Refreshi 
And  Program 
Bacloip 


Jon  Harding 
Rochester,  NY 


Writing  new  programs,  especially  long  ones,  usually 
requires  many  hours  of  editing  and  typing  which 
can  lead  to  two  problems:  (1)  the  variable  name 
table  grows  loo  long  and  (2)  ihe  editing  session 
may  be  catastrophically  terminated  by  a  keyboard 
lockup  or  power  failure.  Even  commercial  .software 
ma\  have  variable  name  tables  which  are  larger 
than  necessary.  And  power  failures  occur  only  at 
the  worst  possible  time:  after  tvping  in  the  2ri2nd 
line  of  that  new  game  you're  so  anxious  to  try!  The 
following  i-outine  eliminates  the  first  problem  and 
minimizes  the  Io.sses  of  the  second. 

Type  in  these  two  programs  (but  delete  REMs 
to  conserve  memory),  SAVEing  the  first  as 
"WRKLOAD.SAV  and  LISTing  the  second  as 
"BAC;KUP.LST."  The  meaning  of  the  e.xtensions 
should  be  clear.  These  routines  will  become  part  of 
yoiu-  program,  but  can  be  deleted  when  you've 
hnislred  typing.  Initiate  a  new  program  or  add  to 
an  existing  program,  already  LOADed,  by  EN- 
TERing  "D:BAKUP.LST".  After  tvping  and/or 
editing  five  to  ten  lines,  type  0.32000  <RE1  URN>. 
The  progiam  in  RAM  is  LISTed  to  the  disk  as 
"WRK,"  the  RAM  area  cleared,  and  "WRK'  re- 
EN  TF.Red.  Edit  or  add  more  code  and  tvpc 
G.32000  again. 

This  time  the  old  "WRK"  is  RENAMEd 
"WRK. BAR,"  the  program  in  RAM  becomes 
"WRK,"  and  is  reT'.NTERed.  The  next  time,  and 
thereafter.  "WRK. BAR"  is  deleted.  "WRK"  be- 
comes "WRK. BAR,"  and  the  program  in  RAM 
becomes  "WRK"  (and  is  re-ENTERed). 

This  procedme  provides/fl//)fr-.so/;  (mother- 


152 


COMPUTf! 


July,  1982,  Issue  26 


daughter)  backup  and  keeps  the  variable  name  table 
as  small  as  possible.  When  you  finish  a  session,  ivpe 
G. 32000  once  more  to  save  tlie  latest  changes  in 
"WRK."  When  you  start  a  new  session  just  type 
ENTER"D:\VRK"  and  you  pick  up  where  you  left 
off.  If  you  use  this  rt)utine  to  back  up  otlier  pro- 
grams on  your  disk,  be  sure  to  save  the  latest  version 
by  its  proper  name,  e.g.  "D:GASBILL.UTL."  Vou 
could  also  delete  the  "WRK"  files  before  using  the 
routine  on  another  program,  but  it's  not  necessary 
since  they  will  be  replaced  anywav. 

The  beauty  of  this  routine  is  that  it  only  takes 
a  short  command  to  invoke  and  can't  be  started  by 
the  program  in  RAM  because  of  the  STOP  at  3 1 998, 
The  XIO...  code  is  the  special  I/O  connnand, 
explained  on  page  29  of  the  Atari  BASIC  Refm'iirc 
Matuial  which  allows  you  to  access  DOS  utilities 
without  calling  DOS,  among  other  things. 

Other  Possibilities 

More  generally,  this  scheme  suggests  the  possibility 
of  a  flisk  with  man\  short  utility  roudnes  which  can 
be  SAVEd  for  use  by  themselves  or  LIS  Ted  for  use 
during  program  writing/editing.  Examples  might 
include:  listing  (he  disk  directory  lo  the  screen 
(without  calling  DOS),  printing  the  disk  directory, 
a  screen  viewing  of  a  dumped  machine  language 
program,  and  hex  to  decimal  conversion, 

A  note  of  caution:  if  you  write  a  program 
which  will  reside  in  RAM  with  the  program  you're 
working  on.  it  wusi  be  complete  within  itscK.  In 
other  words,  when  execution  is  completed,  every- 
thing defined  must  be  undefined  {variables,  di- 
mensions, arravs),  all  devices  OPEN'ed  must  be 
CLOSEd,  and  there  musi  be  an  END.  ( Ihe  CLR 
command  takes  care  of  undefining  anything 
DlMensioned  and  clears  all  variables.)  Ihe  closing 
stateinent  ol  such  a  loiitine  should  look  like  this: 
lineno  CLOSE  #1  :C:LR:EXD. 


Program  1. 

32039  REM  t^mt^^t^S^!^^t^tmM^tn 


32040  ENTER  "4i?K" 

32041  REM  U^m:m^Sm:li:^tv 


■.'.■*J.--J.^'."J.-.'.-J.-J.J,-A-A",V>J.-A-,^ 

^  '■  '^  '■  '■  '■  ^'  "  v--V""r"V""i*-Y'-i''," 


Program  2. 

31997  REM  :^S^^S:StS1^:^:?t:¥::^:S:^t^$^t:^:^t^5¥: 
3199R  V  "SHOULDN'T  BE  HERE!"^STOP 

31999  REM  tW  '14RK..BhK'   EkISTS.   DELhTE  I 
It 

32000  TRAP  32010 ^;>aO  33..^1.0.0/'t'RK..BHK" 
:TRAP  4^00 

32005  REM  :^'IF  'H<IC   EXISTS..   RENhME  IT  m 

^;  BftK '  -^• 

32010  TFSP  Si'ya©  ■■  XIO  32 ..  #1 ..  u .  8 .. "  D  ^  WRK .  m 


K.Bftl<;"=TRAP  40000 

32015  REM  Jl^LIST  PROGRAM  TO  DISK  AS  'mC' 

t 

3201b  REM  *'RLN  WRKLOAD.SAU'   ERASES  RAM 

Arc  RE-ENTERS   '\m.'t 

32*020  LIST   "D  =  HR:K":RIH  "DH-JRKLOAD.Sw.;" 

32050  REM  tmVi:mnMmZUUU:m:Wi 


Use  the  cord 

in  the  bock 

ot  this  magazine 

to  order  your 
COMPUTE!  Books 


Superb  tmv 
^pjwrams 

jot  ymr^TbarV 


Atari  isa  registered  Irademark  r    ol  Atari   Inc 


DOLLARS  AND  SENSE  is  a  set  ot  inree  crogiams  aesigneo  to  intorm  ana  eaucaie  One  suucn 
menu  driven  aiK  totally  user  friendly 

iRA  oulpuls  evpry  year  Irom  vOuF  present  ag?  10  J9?  6^  yea'bVVea'  Simply  inpul  your  prgserM 
a^e  ytifty  com'ibulion  jna  DiOhCCltd  mieresT  rare  A  tasi  anu  eMecitve  way  ro  compare  diffwrent 
combmalions 

f  UTLfFfECOST  Will  flelermire  Ihe  co^ld  any  ilem  aT  any  pohor  in  th^lulurt'  A  graphic  demornsiralion 
tnai  whil  enlighien  evK-rvone  a^  id  the  vi\\je  ol  savmtj  ic  the  lulurc 

WHAT  S  IT  WORTH  Mill  sftow  VOU  e«icliv  Ho*  mticfi  all  H^ai  mnnev  vou  Have  )jve<j  i5rea<iv  wpirn 
in  roclfly  5  dollars  Vou  had  be!lL*r  iir  flOwn  for  Ihiiflile  ATARI  l?4«i  lape  Or  i33Jt  HJiSC  429  9S  VIC  20 
WITH  aK  EXPANDER  S?9  95 

AUTORUN  alio*s  you  ro  airromarically  doo;  your  o-sc  basea  p'ograms  wften  yoy  Dowe'  up  w^nu 
driven  and  very  fast  AuEo'ii'n  rtill  prq&aOTy  be  one  of  Ihe  most  useful  piogtam^  yOtj  will  fivp'  0*n 
ATARI  I  ?4M  disc  Cirlly  »19  95 

SKYPilOT  is  a  real  time  llighl  landing  sifnulaioi  Mitn  fji!  I'nsi'u'neriUF'on  ana  ^udc'D  graDmcii  and 
iourifl  W&Triinh  im  tr>t!  imesT  Hiqhr  jimuiatof  Av.tiiaDie  lor  ihe  A!*ri  ATARh?*Ki  taoeor  <3?Ki  ii'sc 
S?1  9b 

Super  seven  afDeneelieni  Qames  a^^d  vmLtijton  on  js<n<;ip  ohp  loucn  menu  ar.«t-r disc  Tnu  <-i 
beyond  a  douDT  me  be5i  software  v-iJue  on  the  mjihet  fod^iy 

SKVPiLOT  15  included  and  (Jestrnbeo  abovf 

EASVHIDEF?  is  a  iQlally  unique  apprcach  to  moiorrross 'sci^ij  v^tiu  nsuSI  rheg^oiialiri  twiSTinq  maze 
*.m  realistic  sOufid  ant^ iupfif  gfao'^ct 

ALlEMisacjneon  one  cannon  $ducer  duel  Tn*»  Alien  t,ihesew.isivi>3Cl>tifi  sohestiardioait  Knjs 
love  If 

SEA  Battle  puis  yOu  m  commjnrt  ot  i  oiiti**^!  Sub  au+^ounaed  Dv  mmes  And  surface  vessels 
SiraT«gy  counts 

VOVAGER  must  tw  quide(3  \Q  A  sa'e  Ijndmg  on  a  ruyqed  and  noslilc  niln'n  lar^dMaDe  FuH 
instrumenTalicn  «nd  visual  display  to  neip  yOu  sucri?ed 

GERONlMO'  iS  what  youi  ne'o  yt'iti  as  he  lumos  from  a  sm.iii  plan*?  tiymij  iq  tjria  on  a  tropica^ 
island  You  musf  consider  aatn  speed  and  ailitude  *hen  you  Dusf>  mm  oui 

CANNONS  IS  for  one  orfwo  niayt'f^  Each  has  ?o  shoisand  ii  time  iimii  to  nir  .i  movmQi.ifqpt  Kids 
reaUy  eniov  thieq^jmi.'    ATARI  i3?Ki  diir  only  srif^  ■)'^ 


Send  $1  O0(relundablei  tor  catalog  Visa  and  Master  Charge  acceoted  All  order 
shipped  within  48  hours  Salisfaclion  guaranteed  Include  si  5D  per  orOer  for 
postage  &  handling  Dealer  inquiries  welcome 

ARMA  DESIGN  GROUP 
1201  Bridge  Streel.  Asbury  Park.  N  J  07712 
(20^774-9099 


SC000600GG> 


QUALITY  PRODUCTS  FOR  ATARI  COMPUTERS       ^ 

±j  XA/IFT  Ware* 

FROM    S\A/IFTY    SOFTWARE 


ORDERED  BY  NASA 

Yes,  the  National 
Aeronautics  and  Space  Ad- 
minsitration  selected  these 
three  quality  products. 


HARDWARE 


TM 


.1^   DISK  SEKTKV  ' 
[  a^V     An  Intgllagtnl  digiul  accasury  hx  yoir  ATARI  ilO  (Xsh 

S^  D'lvt.  Ins  y«<j  »lacttvaty  wrltg  lUQ  to  Mlh  sidn  ol  singla 
5id«d  loO  xrilB  protKtBd  disks.  DISK  SENTRY  cannot  turm 
yourdrivs  ly  disks.  Insults  and  removss  easily:  no  soldarlng 
required  DISK  SENTRY'S  LED  signals  system  stalus.  prevtn- 
tmc  accidental  erasure  ^  ilala.  DISK  SENTBY  is  a  convenient 
push  bullon  write-protecl  override  when  can  [ay  tor  itt»ll 
with  voui  tirst  tn:  el  dislis.  S39.95 


SWIFTY  TACH  MASTER!" 

An  accurate  diik  speed  diagnostic  utility  prograin  designed 
specificaiiy  tor  ATARI  S^O  Disi(  Ofives  Provides  easy-to- 
read  visual  inoicaiion  ot  the  speed  ol  any  drive  connected 
to  your  systeni  Using  the  accuracy  ot  iriactiine  iargyage. 
TACH  MASTER  displays  live  RPM  readings  per  second 
with  a  working  tachometer  accurate  to  W  RPM  Allows 
you  10  adiusi  your  flrive(s|  to  tactory  specs  easily  and  j! 
any  time  in  the  convenience  o(  your  own  home  Comes 
complete  with  easy  to  tollow  user  s  nanual    $29  95 


SWIFTT  BUTfUNK  ^" 

ttigh  Quality  Smart  Tarnunal  Cotnniunications  program  Easy 
to  use  Murti-Odtion,  Menu  Driven  Full  peffortTiance 
uploading/oownloading.  Worits  in  Duplex  or  Simplax  modes 
supposing  ASCII  and  ATASCII  transmission  Printer  Dump 
Screen  Dump  and  Disk  Search  options  Use  as  remote  ter- 
minal Send/  receiwfl  and  itn  programs  and  data  tiles  Saves 
connect  time  charges  with  commercial  services  Requires 
24K  RAM.  810  Disk  Drrve.  850  Interlace  or  equivalent.  830  Or 
other  300  Baud  modem  (Printer  optlonall  S39.95 


^ 


NEWQAMES 


TM 


l-k 


HAUNTED  HILL 

In  this  super  game  you  fight  bats  and  gliosts  In 
the  dark  ot  a  cemetery.  This  exciting,  all 
machine  language  game  has  arcade  qi;allty 
graphics  and  speed.  Requires  Joystick.  DISK 
ONLY.  $29.95 

TM 
TRIVIA  TREK 

A  multiple  choice  game  of  trivia  for  one  or  two 
players  or  teams.  Comes  complete  with  fifty 
categories  of  trivia  questions  and  over  two 
thousand  multiple  choice  answers.  A  program 
for  creating  your  own  trivia  questions  and  an- 
swers is  also  included.  Play  it  for  fun,  lest  your 
knowledge  or  entertain  ftlends.  Parents  and 
teachers  can  also  make  up  questior^s.  Great  at 
parties.  32K  Disk  Only.  129.95 


UTIUTIES 

DISKEnE  INVENTORY  SYSTEH ''" 

Us*    this    system    to    gain    control    ol    your    eipanCing 

disk/program  inventory.  Ouickly  get  locations  ot  single  Of 

multiple  copies  ol  your  programs  and  all  your  valuaow  1ll« 

An  mvaijapie  loot,  this  system  is  easy  and  convenient  to  use 

and  to  updile    ;4K  disk  system  required.  124.95  Pnnir 

suggested 

SWIFTT  UTIUTIES 

A  valuiDle  coiioclion  ot  programming  utilities  (or  the  ATARI 
programmer  this  DISK  ONLY  package  includes  M  ol 
Programming  Aids  I  and  additional  programs  designed  to 
make  programming  hme  mora  etticitnt  Special  MENti 
program  runs  Ooth  saved  and  Hsteo  programs  BEM 
REMOVER  eliminates  HEM  statements  so  programs  lake  less 
core  and  run  taster.  PflINT  B!5  and  PRINTEPS  custom  pnnl 
programs  prepare  condensed,  indented  and  paginated 
program  listings  on  your  ATARI  825  or  EPSON  MX-80  prin- 
ter Listings  Identity  machine  code,  graphics  and  inverse 
vmeo  charaaers  VARIABLE  LIST  and  VAHIABLE  PflINT 
programs  help  you  prepare  alphaOetiied  annotated  list  ot  your 
program  varlabias  A  delete  lines  utility  provides  convenience 
ot  line  deletion  while  a  DOS  CAILER  gives  yoo  co<iv»nieni  ac- 
cess to  many  DOS  utilities  while  your  program  is  in  core 
Disklist  prepares  disk  lackel  labels  Many  ol  these  programs 
work  coresident  with  each  other  and  with  your  program  Disk 
Orive  and  minimum  ot  24K  required.  (39  95 

MHIUMIIINa  AIDS  PACUSE  I  "^^ 
Four  utility  programs  10  help  increase  programming  etficiency 
and  learn  more  alsout  your  computer.  BENUMSEfl  handles 
references  and  (no  variables  (ienerates  DIagnoslic  Tables 
lor  programming  error  delectkin  PftOGRAU  DECODEfl 
DECIMAL  to  BCD  and  BCD  to  DECIMAL  programs  give  you  j 
praclical  way  ol  studying  iniernal  program  reurtsentation  and 
ATARI  number-conversion  procedures.  Comes  with  com- 
prehensive users  manual.  I6K  cassetle  J14  95  24K  disk 
J19.95 


Mooooeeoo 


.,     PERSONAL  DATA  MANASEMENT 
•y^  FILf -IT  I  ^" 

This  is  Jerry  White's  popular  datat^ase  system 
for  tiling  and  managing  personal  and  financia 
Information.  Create,  store,  manipulate  and 
retrieve  all  types  of  data.  Special  financial  entry 
and  report  programs  create  a  povverful  personal 
accounting  system,  fwlonthly  Bar  Graph 
program  shows  financial  data  on  the  screen 
andfor  printer.  Supports  up  to  four  disk  drives  as 
well  as  the  Axlon  Ramdisk  (if  you  have  one). 
Mailirg  list  program  generates  mailing  labels  In 
one  or  two  across  format.  Extensively 
documented  in  a  ring  binder.  24K  Disk  and  Prin- 
ter. $49.95  +  J3.S0forshlpplng  and  handling. 

FUN  "•"UHESn''''' 

WOnOGAMES.  POSSIBLE  and  LEAPFflOG  giving  you  hours  ot 
tun.  challenge  and  entenainment  WORDGAMES.  two  games 
in  one.  conuins  GUESSIT  -  a  deductive  alphabetic  reasoning 
game  tor  one  or  hvo  players  and  WOHOJUMBLE  a  multiple 
word  descrambling  puzzle  with  ptay-on-woro  hints  and 
mystery  answers  instructKMis  show  how  you  can  sutistiiute 
your  own  words.  Use  POSSIBLE  to  help  descrimoie  word 
jumble  puzzles  or  to  create  your  own .  All  letter/number  com. 
binations  or  permutations  of  Input  are  printed  to  screen  or  op- 
tional pnnier  LEAPFROG  is  a  Chinese-Checker  type  lumping 
game  in  which  you  try  to  position  hro  sets  ot  animated  jum- 
ping Irogs  in  a  minimum  number  of  moves  tSK  Cassette 
t19  95:  24K  Disk  S24.95.  Disk  verskin  of  GUESSIT  works 
with  VOTRAX  Type  -'n  ■  TALK  A  r«a( crowd  pleajer 

COMfttfi  SDONI  Sped  SMiia  AMitiire  SertH  TH 

Real. time  Space  Flight  Simulations 

COMINS  SOOMt  The  FaiMT  FlHeeteT** 
AN  easy  to  use  linancial  package 

ACCESSORIES 

VINYL  DUST  COVERS 

Custom  sewn  upholstery  grade  vinyl  dust 
covers  for  ATARI  800  and  400  computers  and 
the  810  and  825  peripherals.  Protectino  your 
equipment  when  hot  in  use,  these  crisp  black 
covers  go  well  with  any  decor.  Specify  model(s) 
when  ordering.  J 14. 95  each. 


send   check  or  money   order   Including 
Shipping  and  Handling  to: 

SWIFTY  SOFTWARE,  INC 

■         U  BROAD  HOLLOW  ROAD         ~ 

MELVILLE,  N.Y.  117*7 

(Sie)S4S-9U1 

H.Y.  Ritld«nt>  tdd  TViK  mIm  tix 


3   S2-50  K 

y 


I  twd  far  tree  catilegM  euleref^eaeiidc,e,d.' 

I  ©1961, 1982SwittySohware,  Inc 

I  NOTE   ATARI*   is  i  registered  trademark  of  Atari  inc..  a 

k  Warner  Communications  Company  and  all  references  to 

lATAfll*  should  be  so  noted 


'^'"'*"""""  '  '        nnnnVinnnnnriiiLiLiuuooooo, 


1M 


COMPUTtI 


July,  1982,  Issue  26 


How  To  Use  The 
6560  Video 
Interface  Chip 


Dale  Gilbert 
Henegar,  AL 


The  6560  Video  Interface  Chip,  the  VIC  chip, 
provides  low  cost,  high  resolution,  color  video  to  a 
color  monitor  or  a  color  television,  and  it  also  in- 
corporates a  sound  generator,  A/D  converters 
[analog! digital],  and  even  a  light  pen  feature. 

The  6560,  some  RAM,  a  crystal,  a  few  bus 
drivers,  and  a  little  decode  logic  is  all  the  hardware 
that  is  required  to  add  color  and  sound  to  a  micro- 
processor that  has  an  expansion  bus. 

The  VIC  capabilities  include  on-chip  sync 
generation,  screen  grid  size  of  up  to  192  horizontal 
dots  by  200  vertical  dots,  two  character  sizes,  three 
independent  programmable  tone  generators,  a 
white  noise  generator,  an  amplitude  modulator, 
screen  centering,  on-chip  DMA  address  generation, 
and  two  modes  of  color  operation. 

The  6560  VIC  is  manufactured  by  MOS  Tech- 
nology, Inc..  Commodore  Business  Machines 
incorporates  the  6560  in  their  VIC-20  Computer.  I 
purchased  my  chip  from  Falk-Baker  Associates, 
382  Franklin  Avenue,  Nutley,  New  Jersey  071  10, 
for  $14.95. 

6560  Software 

To  produce  colored  characters,  VIC  addresses  two 
blocks  of  memory  at  the  same  time.  This  address 
method  produces  twelve  bits  of  data.  The  eight  bit 
block  of  memory  is  called  the  Character  Pointer 
Block  (called  the  screen  memory  on  the  VIC-20). 

The  second  block  of  memory  is  called  the 
Character  Color  Block  (called  the  color  nibble  area 
on  the  VIC-20).  This  block  contains  four-bit  char- 
acter color  data. 

VIC  lakes  the  character  pointer  data,  left 
shifts  it  three  times,  and  adds  the  result  to  the 
character  cell  base  address  contained  in  bits  zero 
through  three  of  register  five. 

VIC  then  puts  the  result  on  the  address  bus 
which  addresses  another  block  of  memory  called 
the  Character  Cell  Block  (called  character  bit  maps 
on  the  VIC-20).  This  block  of  memory  is  eight  bits 
wide.  The  data  obtained  from  this  address  is  video 
information  on  an  8  x  8  character  matrix.  The 
matrix  is  eight  bytes  high  and  eight  bits  wide. 


VIC  takes  the  four-bit  character  color  data 
and,  if  the  MSB  is  0,  the  character  matrix  will  be 
displayed  in  high  resolution  mode.  If  the  MSB  is 
one,  the  character  matrix  will  be  displayed  in  the 
multicolor  mode. 

When  the  high  resolution  mode  is  selected 
and  when  bit-3  of  register-F  is  a  zero,  all  one  bits  of 
the  character  cell  data  will  be  displayed  in  the 
background  color  and  all  zero  bits  will  be  in  the 
foreground  color.  The  three  remaining  bits  of  the 
character  color  data  specify  the  color  of  the  fore- 
ground. The  color  of  the  background  is  specified 
by  bits  four  through  seven  of  register-F.  If  bil-3  of 
register-F  is  1,  the  one  bits  of  the  character  cell 
data  will  be  displayed  in  foreground  color  and  the 
zero  bits  will  be  displayed  in  background  color. 

If  bit-3  of  register-F  is  one,  all  the  character 
cell  matrix  will  have  the  same  color  background.  If 
bit-3  is  a  zero,  all  the  character  cell  matrix  will  have 
common  character  colors. 

When  the  multicolor  mode  is  selected  (MSB  of 
the  character  color  data  is  one),  there  is  a  pairing 
of  bits  of  the  character  cell  data.  The  character 
matrix  now  is  a  4  x  8  dot  matrix  with  each  dot's 
color  determined  by  the  code  of  each  pair.  The 
code  has  lour  possibilities:  00,01,10,1 1.  If  a  dot 
code  is  00,  its  color  is  the  background  color  specified 
by  bits  four  through  seven  of  register-F.  If  the 
code  is  01 ,  the  dot  color  is  the  same  as  the  external 
border  color  specified  by  bits  zero  through  two  of 
register-F.  If  the  code  is  ten,  the  dot  color  is  the 
foreground  color  specified  by  the  three  bits  of  the 
character  color  data.  If  the  code  is  1  1 ,  the  color  of 
the  dot  is  specified  by  bits  four  through  seven  of 
register-E. 

VIC  produces  a  TV  raster  of  up  to  twenty-two 
columns  by  up  to  twenty-three  rows  of  character 
matrix  surrounded  by  a  border.  The  base  address 
of  the  character  pointer  block  contains  the  first 
upper  left  pointer  for  that  character  matrix.  The 
base  address  plus  one  of  the  character  pointer 
blocks  contains  the  pointer  for  the  next  right  char- 
acter matrix.  It  is  the  responsibility  of  the  MPU  to 
manipulate  the  pointers  in  the  character  pointer 
block  of  memory.  A  whole  raster  of  repeated  char- 
acters (character  matrix)  can  be  obtained  by  just 
repeating  the  pointers  in  the  character  pointer 
block. 

6560  Hardware 

The  6560  VIC  has  fourteen  address  pins  (A0-AI3) 
and  twelve  data  pins  (DO  -  Dl  1).  When  the  02  clock 
is  high,  the  MPU  can  place  an  addre.ss  on  the  ad- 
dress pins  and  read  or  write  data  into  any  of  the 
sixteen  eight-bit  registers  via  data  pins  DO  -  D7. 
VIC  decodes  the  address  pins  and  selects  registers 
zero  through  F  when  address  1000  through  lOOF 


Teach  your  commodore 
to  use  the  telephone. 


Telecommunicate  with  McTerm 


Don't  miss  out  on  the 
computer/teleptione  revolution. 
With  our  McTerm  pacloge  and  a 
modem,  your  Commodore 
becomes  an  /nfe/Z/genf  terminal. 
You  can  interact  with  large  and 
small  computers  anywhere  in 
the  world. 

Access  databases  like  the 
Source'",  or  MicroNet",  or  Dow 
Jones  for  up-lo-the  minute 
news,  sporls,  stock  market 
reports,  etc.  Write  programs  on 
your  micro  and  run  them  on 
distant  mainframes. 


McTerm  actually  saves  you 
money  and  time  while  you  use 
it.  There's  no  need  to  read  data 
line-by-line  as  you  receive  it, 
Instead,  you  can  quickly  save  it 
all  to  disk  or  printer  and  sign- 
off.  You  save  on  expensive 
computer  time  and  long 
distance  phone  rates. 

McTerm  sends  and  receives 
faster  than  anyttiing  else  on  the 
market  -  up  to  1 200  baud. 
Adjustable  duplex,  echo,  and 
parity.  Runs  on  any  Commodore 
4000  or  8000  series  computer  with 
BASIC  after  version  1 .0.  Works 
with  most  RS-232  modems  and 
supports  auto  dial.  Write/Or  Phone 
for  Data  Sheet, 


McTerm  connects  you  with  the  rest  of  the  world. 

Madison  Computer,  1825  Monroe,  Madison,  Wl  53711  USA.  608-255-5552 


FOR  THE 

VIC 

Multiple     Interfile     Connector 


This  Atl-ln-One  Powerful  Connector  Include: 


MIC  MON.. 


MIC  ED., 


MIC  SET.. 


Machine  LanKuagr  Monicor 

A  must  for  machine  language  programmers 
and  can  be  used  with  any  memory  siie. 

Editing  Utility  Aid 

Gives  programmers  26  new  commands  and 

can  be  used  with  the  M!C  MON. 

Reset  Button 

First  lime  on  VIC.  Reset  instantly 

without  switching  off  computer. 

MIC  SLOT...  Peripheral  Slot 

Permits  connection  to  any  IEEE  device, 

3  K  Super  Expander  for  graphics  or 
external  memory. 

MIC  SWITCH...      Memory/  Peripheral  Sxvitch 

Gives  the  choice  of  selcctmg  added 

peripheral  memory  or  lEFE  peripherals. 

BASIC  MIC  PRICED  AT  $249.95 

MEMORY  OPTIONS 

Select  from  Built-in  JK,  8K,  16K,  24K,or  32K 

RAM  MEMORY  BOARDS 

THE  COMPUTER  WORKS 

20Z8  West  CanKlback 

Phoenix,  Arizona  85015 

Telephone  («02)/249-06Il 

Dealer  Inquiries  Inviicd 
^ISA  .M.ASTERCHARGE 


VlCw^are 


By:      MicroSpec   Ltd. 


DATA  BASE  MANAGER:  Create,  Add,  Delete, 
Change,  Sort,  Search,  Print,  Write,  Read  and 
Browse  are  the  comiBands  available  to  you. 
You  can  manage  your  own  tlata  base.  8-k 
expansion  required $17.95 

HOHE  INVENTORY  MANAGER:  Keep  track  of  all 
your  household  belongings  For  insurance 
purposes.  Allows  you  to  add,  delete,  search, 
sort,  etc.  Will  print  totals  and  subtotals 
while  listing  your  complete  inventory.  $H.95 

STOCK  PORTFOLIO  MANAGER:  Hill  categorize  the 
stocks  you  own  and  allow  you  to  post  both 
earnings  and  current  quotes.  Tracks  the  last 
six  quotes  and  will  graph  the  stocks 
perfor«ance.  Prints  a  conprehensive  report 
with  subtotals  by  category  along  with 
percentage  and  yield  figures $17.95 

Many  more  prograis  available.  Write  for  free 
catalog. 

VISA  and  HASTERCARD  Accepted 


2905  Ports  O'Call  Ct. 
Piano  Texas 


(214)  867-1333 
75075 


156 


COMPUTE! 


July,  1982,  !ssue  26 


(the  VIC-20's  VIC  chip  ignores  the  A  1 5  line)  is 
placed  on  the  address  pins. 

The  address  pins  are  input  pins  when  02  is 
one;  if  02  is  zero,  then  these  pins  are  output  address 
pins. 

When  the  02  clock  is  one,  the  MPU  can  also 
write  or  read  data  to  the  character  pointer  RAM, 
the  character  color  RAM,  and  the  character  cell 
RAM.  The  character  cell  memory  may  be  RAM, 
ROM,  or  both.  The  base  address  of  the  character 
eel!  block  and/or  the  character  pointer  can  be 
changed  by  modifying  a  register  in  the  VIC. 

When  the  02  clock  is  low,  the  VIC  addresses 
memory  in  such  a  way  that  the  character  pointer 
RAM  and  the  character  color  RAM  is  selected  at 
the  same  time.  VTC  must  receive  character  pointer 
data  on  DO  through  D7  and  character  color  data 
on  D8  through  DI 1  at  the  same  time. 

The  R/W  pin  four  is  an  input  only  pin  and 
must  be  driven  by  the  MPU  when  02  is  one  and 
held  high  when  01  is  one. 

Pins  38  and  39  are  the  master  clock  inputs. 
The  6560  VIC  requires  a  14.31818  MHz,  two 
phase,  five  volt,  non-overlapping  signals.  The 
master  clock  uses  a  standard  14.31818  MHz  crystal 
(4x  color)  and  the  delay  of  74LS  gates  to  give  a 
non-overlapping  signal.  Resistors  Rl  and  R2  are 
used  to  give  extra  ]3ull  up  to  CMOS  levels.  CMOS 
gates  don't  seem  fast  enough  for  this  clock. 

Pins  35  and  36  are  the  system  output  clock 
used  for  system  timing  and  driving  the  clock  of  the 
6512  MPU  (if  used).  A  6502  MPU  can  be  used  by 
feeding  pin  36  to  the  00  IN  pin  on  the  6502. 
Removing  the  original  00  signal  and  wiring  this 
new  00  is  the  only  alteration  needed  on  the  mother 
MPU. 

Because  the  6502  address  hues  are  active 
when  01  is  1,  the  expansion  address  lines  to  the 
VIC  and  its  associated  memory  must  be  isolated 
from  the  MPU  bus  during  this  time. 

The  data  bus  should  also  be  buffered  and 
gated  for  this  same  reason. 

The  system  clocks  are  five  volt,  non-overlapping, 
1.02  MHz  signals. 

Pin  19  provides  the  sound  output  which  must 
be  fed  to  an  amplifier  to  a  drive  speaker.  The 
output  impedence  is  approximately  1000  ohms. 

Pin  3  is  the  output  pin  for  the  composite  sync 
and  the  luminance  signal.  This  pin  is  an  open 
drain  which  makes  it  easy  to  shift  to  the  needed 
voltage  level  for  a  RF  modulator,  TV  first  video 
amplifier,  or  a  black  and  white  CRT  monitor. 

In  the  following  wiring  diagram,  diodes  K3, 
K4.  K5,  and  KB;  resistors  R5,  R6,  and  R7;  and  CI 
make  up  the  level  shifter  for  a  TV  output  or  video 
monitor  output. 

The  VIC  is  a  superior  CRT  controller  for  a 


B/W  monitor  due  to  the  varying  levels  of  luminance 
required  for  a  color  picture.  VIC  can  produce 
varying  shades  of  gray. 

Pin  2  provides  the  composite  color  signal.  This 
signal  contains  the  color  phase  and  amplittide 
information  plus  the  3.58MHz  biust  signal.  Pin  2  is 
a  high  impedence  output  buffer  which  can  be 
applied  to  the  first  chroma  amplifier  of  a  TV,  color 
monitor,  or  RF  modulator. 

Pins  17  and  18  are  the  input  pins  for  the  Pot-X 
and  Pot-Y  analog  to  digital  converters.  A  pot  is 
used  to  charge  an  external  capacitor  tied  to  the  pot 
wiper  and  fed  to  pin  1 7  or  18.  These  pins  are  sys- 
tematically pulled  to  ground  after  each  charge 
voltage  reading.  The  voltage  is  digitized  and  depo- 
sited in  register  8  or  9. 

Pin  37  is  the  light  gun/pen  pin.  The  voltage  of 
triggering  is  approximately  2.5  volts  on  the  falling 
edge.  Holding  this  pin  low  clears  registers  6  and  7. 
The  values  of  registers  6  and  7  represent  the  hori- 
zontal and  vertical  positions  of  the  current  dot 
being  scanned.  The  light  gun/pen  option  is  only 
available  on  a  6560-101  which  is  sometimes  iden- 
tified by  a  white  dot  on  the  case  of  the  IC. 

Address  decoding  must  be  provided  so  that 
the  character  color  nibble  RAM  will  be  selected, 
when  the  character  pointer  RAM  is  addressed  by 
the  VIC,  but  not  selected  when  the  MPU  addresses 
the  character  pointer  RAM.  A  data  bus  transceiver 
must  be  provided  to  isolate  the  nibble  bus  from  the 
byte  btis  along  with  the  logic  for  this  transceiver. 
The  logic  must  enable  the  MPU  to  read  or  write  to 
the  nibble  btis  when  the  02  clock  is  one. 

The  expansion  02  may  be  u.sed  as  the  E(02)  if 
the  expansion  02  has  no  more  than  one  LS  gate 
delay  and  it  is  the  true  MPU  02.  If  these  provisions 
can't  be  met,  connect  E(02)  to  the  V02  (pin  36). 

This  author  used  addresses  1000  through 
lOOF  for  the  VIC;  2000  through  23FF  for  the 
character  pointer  block;  2400  through  27FF  for 
the  character  color  block;  and  2800  through  2BFF 
for  the  character  cell  block. 

The  addition  of  a  6560,  a  few  RAM  chips, 
and  a  few  gates  will  free  up  and  complement  many 
a  MPU. 


Color  Code 

Auxiiiary/Background/Border/Foreground 

0  BLACK 

8  ORANGE 

1  WHITE 

9  LIGHT  ORANGE 

2  RED 

A  PINK 

3  CYAN 

B  LIGHT  CYAN 

4  MAGENTA 

C  LIGHT  MAGENTA 

5  GREEN 

D  LIGHT  GREEN 

6  BLUE 

E  LIGHT  BLUE 

7  YELLOW 

F  LIGHT  YELLOW 

July.  W82.  Issue  26 


COMPUTEI 


157 


VIC  Control  Registers 
Register Data 


RO 
Rl 
R2 
R3 
R4 
R5 
R6 
R7 
R8 
R9 
RA 
RB 
RC 
RD 
RE 
RF 


1  =  1 
0  =  N 


Horix,  Center  Vx4  DtAs 
5         4         3         2         1 


Vertical  Center  Vx2  Dots 
6         5         4         3         2         1 


,\9 


RV 
0 


No.  of  Character  Matrix  Columns 
6         5         4        3         2         10 


No.  of  Character  Matrix  Rows 
5         4         3         2         10 


1  =D 
0  =  S 


Raster  Value 
6         5         4         3 


Bane  Cp 
A13   A12   All    AlO 


Base  Char.  Celt 
A13  A12   All   AID 


LP  Horizontal  Position 
6         5         4         3         2         1 


l.P  Vertical  Position 
5         4         3         2 


Pol-X 

4         3 


Pot-Y 


.Sw 
l=On 


Sw 
]=On 


Sw 
I  =Or 


SW 
l=On 


Frequency  Osc.  -1 

5         4         3         2 


Frequency  Osc.  -2 
4         3         2         1 


Fre<juenev  Osc.  -3 

4         3'        2 


Frequency  Noise  Gen. 
5         4         3         2         1         0 


Auxiliary  Code 
3         2       ■  I  I) 


Background  Ci>dc 
3       "2         1         0 


Audio  Amplitude 
3         2  10 


1=B 

0  =  F 


Border  Code 
2  1  0 


Address 
1000 

1001 

1002 

1003 

100-1 

1005 

1006 

1007 

1008 

1009 

tOOA 

lOOB 

lOOC 

lOOD 

lOOE 

lOOF 


Abbreviations: 

1  =  Interlace 

N  =  None  Interlace 

CP  =  Character  Pointer 

Base  Address 
R  =  Raster 
V  =  Value 


S  =  8x8  Matrix 

D=  16x8  Matrix 

B  =  Common  Background 

F  =  Common  Foreground 

LP  =  Light  Pen 

Sw  =  Switch 


Color 
Output  * 


1? 


N,- 


N, 


N„  — 

Dfi  — 
D,— 


D, 


D, 


D,— 


Do- 


O 
IS, 

in 


To  Sound 
Amp 


^ 


+ 


SmFD  'i 


—  + 

—  MO, 
-MOj 

—  LP 

—  VOj 

-vo, 

-AI3 

—  A12 
-All 

—  AlO 
-A9 

—  A8 
-A7 

—  A6 


-A5 

—  A4 

I A3 

—  A2 


Al 


-  AO 


PotV  PotX 


COMPUTE!  Books 

P.O.  Box  5406    Greensbofo.  NC  27403 

Ask  your  retailer  for  these  COMPUTE!  Books. 

If  he  or  she  has  sold  out,  order  directly  from 
COMPUTEI 


For  Fastest  Service 
Coll  Our  TOLL  FREE  US  Order  Line 

800-334-0868 

In  HC  call  919-275-9809 


Quan.  Title 


Price     Total 


_The  Beginner's  Guide  To 
Buying  A  Personal  Computer    $  3.95 

[Add  SlOO  shipping  and  handling.  Outside  US  odd 
54,00  air  mail;  S2.00  surfoce  moil.] 

_COIVIPUTE!'s  First  Boolf  of  Atari    $12.95 

(Add  $2.00  shipping  and  handling.  Outside  US  add 
S4.00 air  moil:  S2,00 surface mait) 

Jnside  Atari  DOS  $19.95 

[Add  S2,00  shipping  and  handling.  Outside  US  add 
54.00  air  mail;  $2.00  surface  mail.) 

_COIVIPUTE!'s  First  Book  of 
PET/CBM  $12.95 

(Add  S2.00  shipping  and  handling.  Outside  US  add 
S4.00  air  mail;  S2.00  surface  mail.) 

.Programming  the  PET/CBM       $24.95 

(Add  S3.00  shipping  and  handling.  Outside  US  add 
59,00  air  mail;  $3,00  surface  mail) 

_Every  Kid's  First  Book  of 
Robots  and  Computers  $  4.95 

Available  In  July.  (Add  $1,00  shipping  and  handling, 
Outside  US  add  $4.00  air  moil;  $2,00  surface  mail.) 

_C0MPUTE!'5  Second  Book  of 
Atari  $12.95 

AvailobI©  in  July,  (Add  $2,00  shipping  and  handling. 
Outside  US  add  $4.00  air  mail:  S2,00  surfoce  mail.) 

_COMPUTE!'s  First  Book  of  VIC     $12.95 

Available  in  August.  (Add  $2.00  shipping  and 
handling.  Outside  US  add  $4,00  air  moil;  S2.00 
surface  mail.) 


All  orders  must  be  prepaid  (money  order,  check,  or 
charge).  All  payments  must  be  In  US  funds.  NC 
residents  add  4%  sales  tax. 

n  Payment  enctosed 

Please  charge  my  QVISA    D  MC    □  Am.  Exp. 

Acc't.  No. Expires  / 


Name 


Address 


City 


State 


J^ 


Country 


Allow  4-5  weeks  for  delirery. 


This  Publication 

is  available  in  Microform. 


University  Microfilms  International 

Please  send  additional  inlurnKUidn 


fur  

Numc_- 


Inslilution- 


StreeL- 
Cilv_ 


Stale Zip 

300N«nti  Zooh  Ri.Mtl.  IX-pt  PR,  Ann  Arlvir.  Mi,  JKIIlh 


NEW  COMMODORE  ADD-ONS 

RAM-ROM: 

GETS  RID  OF  SAFING  ROM 

MX-910  CBM/PET  RAM/ROM;    !  '  ^ 

Allows  muiti  ROM  protected  progratns  using 
the  same  socket  to  be  put  onto  tdisheHecassette, 
no  need  to  insert  protect  ROM  in  socket  after  initial 
load,  eliminates  need  for  ROM  switcfi  box,  write 
protect  in  software,  decoded  for  dual  ROM  socket 
usage,  4K  expandable  to  8K,  easy  internal  CBM  . 
installation:  S1 19.95  ^  -•.-■ 

MX-232  CBM/PET  TO  RS-232C  i     ^- 
INTERFACE: 

Low  cost,  bidirectional,  50  to  19,200  baud  rate,  full 
modem  controls,  parity  allows  lor  two  RS-232C  CBM 
pons,  installs  easily  Inside  CBM:  $1 99.95 

SX-100 IEEE-488/PET  MODEM  SOnWARE: 

Best  810  modem  software,  by  8010  developer, 
works  wilfi  Source/Micronel/CBM  to  disk/CBM  to 
CBM;  Intelligent  Terminal  Software:  $79.95    ,J^ — 

MX-2Q0 IEEE-488/PET  PARITT         ' ' - 
MODEM/SOFnVARE 

Talk  to  a  host  computer  requiring  parity,  al  features 
ofSX232:S399.95  ' 

MX-113  THER  PROTECTION  ROM: 

Plug  in  ROM,  displays  owner's  name.  etc.  when 
computer  turned  on;  S49.95 

ECX  COMPUTER  COMPANY 

!  2678  NORTH  MAIN  ST.       i 

'  WALNUT  CREEK,  CA  94596      ;   i„ 

(415)944-9277  j.fl 

For  additional  new  product  information  and  catalog 
send  self  addressed,  stamped  envelope. 


..PET/CBMA^IC?  SEE  SKYLES. . . 


PET  owners  everywhere  sing 

JjJ)  Thanks  for  the  MemoriesJ)J^ 

to  good  old  Bob  Skyles 

.  .  ,  ihey  should .  .  .  because  Bob  Skytes  is  the  only 
complete  source  for  memory  boards  for  any  PET  ever 
sold.  Old  Bob  won't  forget  you. 

And  the  Skyks  memory  sysicmi  ha\e  ihc  hiflhe^i  quality  control  of  any 

computer  product  ever.  0\er  100  million  bitv  of  Skyles  meinory  boards  are 

already  in  the  rtcld.  First  quality  static  and  dynamic  R.AMS.  solid  soMered  on 

first  qualilv  glass  epoxy.  That  is  why  they  are  Euaranleed — inspiieufllicnfw 

Inwer  prkei—hx  »  full  Ivin  jcars. 

The  boards,  inside  ihc  PET 'CBM.  install  iti  mtnittes  withotil  special  loolsor 

equipment .  .  .just  a  screwdriver. 

Because  of  our  new  dynamic  mcmors  design,  and  to  celebrate  old  Bob's  30|j 

birttiday,  here  are  the  smashing  new  prices: 

SK  Memory  Svsiem  ori^.  S250.00  no»- $200.00  Save  S  50.00 
I6h  MemoTV  Svitem  orig.  S4M00  no»- SiOO.OO  Save  SI 50.00 
14K  Memory  System       orig.  S650. 00       now  S400. 00      Save  S250. 00 

...I'orunrPCT  ever  made.  \Vhenordering,jiisi  describe  your  PET  by  model 

number  and  indicate  the  amount  and  type  (or  brand)  of  memory  currently  in 

the  unit. 

Shipping  and  Handling (USA  /Canada)  $3.50     (Europe/. Asia)  SIS.OO 

California  residenn  must  add  6%/ 6":  '"o  sales  ia.\;  as  required. 

Vi.sa/Maslercard  orders:  call  lollfree  (800)  227-9998  (except  CalilorniaJ. 

California  orders:  please  call  (4151  965-1735. 


I 


Skyles  Electric  Works 

231K  South  Whisman  Road 
Mounlain  \ie»,  Catifornia  94(Ml 

(415)965-1735 


...PET/CBMA^IC?  SEE  SKYLES. . . 


NEW  FOR  82 

•  PAYROLL  SYSTEM  • 

•  OVER  100  EMPLOYEES 

•  25  DATA  FIELDS  PER 
EMPLOYEE 

•  MULTIPLE  RATES 

•  OVERTIME 

•  VACATION 

•  SUBSISTENCE 

•  16  GEN.  LEDGER 
CATEGORIES 

•  PRINTS  CHECKS  OR 
CHECK  STUBS 

•  W2  FORMS 

•  CALIF.  DE3AND 
DE3B.  941  AND 

(INTRODUCTORY PRICE)  OTHER  REPORTS 

FOR  MOD  8032  (4040  OR  8050) 

OTHER  BUSINESS  PROGRAMS  AND  PRICE  LIST  AVAILABLE 


EETM 


SOFTWARE  COX 


3436  MENDOCINO  AVE. 
\  SANTA  ROSA.  CA  95401 
^  (707)  544-3425 


July.  1982,  Issue  26 


COMPUTEI 


159 


This  compactor  analyzes  and  compresses  BASIC  at 
Ughining  speed.  For  PETICBM,  Upgrade  and  4.0 
BASIC,  wilh  disk  drive. 


Machine 

Language 

Compactor 


David  L.  Evans 
Caldwell,  ID 


When  the  programs  "Compactor"  and  "Un- 
Com]3actor"  by  Robert  Baker  appeared  in  the 
Sepl./Oci.,  1980  and  May,  1981,  issues,  respectively, 
of  COMPUTE!  I  immediately  typed  them  in  and 
tried  tliem  out  on  several  of  my  programs. 

To  my  dismay,  compacting  a  16K  program 
required  approximately  48-.52  minutes.  I  am  a 
college  siudent  and  spend  a  limited  amount  of 
time  on  my  computer  (a  16K  4.0  PET)  due  to  studv 
dme  and  my  job.  That  compacting  time  ate  heavily 
into  the  time  1  spend  on  my  PET  and  I  decided  to 
do  something  about  it.  This  program  is  the  result. 

1  tried  several  different  BASIC  versions  of  the 
program,  but  coidd  come  up  wilh  no  noticeable 
increase  in  speed.  I  then  decided  to  give  machine 
language  a  try.  The  result?  A  947%  increase  in 
speed!  Even  this  phenomenal  increase  in  speed  can 
be  improved  a  bit  (uriher  by  eliminating  the  error 
checking  in  my  input  subroutine. 

The  program  consists  of  five  different  sections. 
The  input  section  prints  the  direcdons  and  inputs 
the  input  and  output  tile  names.  The  scanning 
section  scans  the  B.'VSIC  program  for  target  line 
numbers  and  prints  them  for  you  to  see,  while  also 
storing  them  for  use  by  the  compacting  section. 
The  compacting  section  compacts  the  program 
(where  possible)  atid  prints  "DONE"  when 
finished. 

A  following  subroutine  section  contains  an 
input  subroutine,  a  line  number  checking  routine, 
and  a  disk  error  routine.  Following  these  four 
sections  is  the  data  and  work  storage  area.  This 
program  was  designed  to  riui  on  both  Upgrade 
and  4.0  ROMs.  It  will  automatically  adjust  itself  to 
work  on  either  ROM  set,  so  all  the  user  has  to  do  is 
to  LOAD  the  PROGRAM  and  type  RUN. 


Running  the  program  is  fairly  simple.  Load 
the  program  into  memory  with  the  LOAD  oi" 
DLOAD  command,  depending  upon  which  com- 
puter you  have.  If  you  do  not  have  DOS  2.0  or 
higher,  make  sm^e  that  both  drives  are  initialized. 
Type  RUN,  and  the  computer  will  print  a  short 
greeting  along  with  some  brief  directions. 


Typing  In  Compactor 

Below  are  the  step-by-step  instructions 
for  entering  and  SAVEing  Compactor. 
COMPUTE!  generally  provides  BASIC 
loaders  so  that  readers  who  don't  know 
machine  language  can  easily  type  in  and 
use  machine  language  subroutines  and 
programs.  Though  it  could  be  done,  we  felt 
that  creating  a  BASIC  loader  for  C'ompactor 
would  be  loo  complicated  to  be  worthwhile: 
Compactor  sits  in  memory  stalling  at  ad- 
dress 1024  (like  a  BASIC  progi-am).  A 
loader  would  involve  an  awkward  process 
of  writing  over  itself  and  checksums  would 
be  equally  difficult  to  use. 

Instead,  Compactor  is  presented  as  hex 
dump.  To  enter  it  into  the  computer: 

1 .  Type:  SYS  1024  (to  enter  the 
machine  language  monitor). 

2.  When  prompted  by  the  period  (.), 
type  M  0400  0460  and  ihe  screen  will  reveal 
(in  hexadecimal  niuiibers)  the  contents  of 
the  memor)  cells  between  address  0400  and 
0460.  You  can  type  over  these  numbers  and 
hit  RETURN  on  each  line,  thereby  entering 
the  new  niuiibers  into  memory.  So,  for  the 
first  line,  you  type:  00  OB  04  FF  FF  9E  31 
HO  (RETURN).  Continue  on  until  you've 
lypcd  and  entered  line  0460  as  ii  appears  in 
the  magazine  listing. 

3.  Then  do  the  next  block  of  memory. 
Type:  M  0468  0500  and  continue  on,  re- 
placing the  values  on  screen  with  Compac- 
tor's numbers  as  printed.  When  you've 
typed  in  the  last  line,  (()B70),  you  are  done. 

4.  Now  Compactor  is  in  your  com- 
jHiter's  memorv  and  it  must  be  SAVT.d  onto 
a  disk.  Type:  S  "0:COMFACTOR", 
08,()400,0B78  (RETURN)  and  il  will  now 
be  a\ailable  for  use  as  a  program  called 
"C:OMPACTOR"  on  the  disk  in  Drive  zero. 

5.  If  the  power  went  off  just  before  you 
finished  (and  you  lost  everything,  including 
your  temper),  you  might  prefer  to  take  up 
the  author's  offer  (at  the  end  of  the  arucle) 
to  make  a  copy  for  you. 


160 


COMPUTE! 


July.  1982.  Issue  26 


After  reading  the  directions,  type  in  \ our 
input  flic  name  preceded  bv  die  drive  ninnber  the 
iile  is  on.  Kxainple  :  ():C:ON!FA(:  TOR.  You  will 
tlien  be  asked  for  the  output  llle  name;  do  the 
same  wiili  it  as  you  did  with  tlie  input  file  name. 
The  computer  will  then  scan  and  conij)act  vour 
[program.  If  any  disk  error  is  detected,  the  program 
will  report  il  and  will  return  to  BASIC.  After  yoiu' 
program  has  been  compacied,  l,OAD  il  into  mem- 
ory and  tvpe  the  C'LR  command;  this  will  fix  all  the 
line  links.  Be  sure  to  reS.W^E  ihe  corrected  copy. 

Clearly,  machine  language  lends  itself  to  input/ 
output  programs  more  readily  tlian  BASK'  does. 
Once  the  basics  of  how  to  opi-n  (lies  from  niacliine 
language  are  learned  (see  COMPUTE!,  April,  1 9S I . 
#  1 1),  it  is  easy  to  generate  input/outpiu  programs 
in  machine  language  wliich  will  run  at  a  pheno- 
menal speed. 

For  those  of  vou  who  do  not  want  to  type  this 
in.  I  will  make  you  a  copy  of  it  if  you  will  .send  me 
$3.00  and  a  self-addressed,  stamped  mailer  and  a 
blank  tape  or  disk.  For  those  who  send  a  disk,  I 
have  DOS  2.0.  so  all  disks  will  be  written  in  DOS  2.0. 


04E0  8E  A9  0F  85  D2  85  D3  A9 

04E8  08  85  D4  A9  00  85  Dl  20 

04F0  63  F5  20  F7  09  A2  00  BD 

04F8  50  0C  C9  0D  F0  04  E8  4C 

0500  F7  04  A9  2C  9D  50  0C  9D 


D(t 

vid  /■; 

iHins 

2202  Ellis  Ai 

('. 

Caldwell,  ID  83605 

0400 

00 

0B 

04 

FF 

FF 

9E 

31 

30 

0408 

33 

37 

00 

00 

00 

AD 

50 

C3 

0410 

C9 

2E 

F0 

38 

A9 

24 

8D 

F0 

0418 

04 

8D 

30 

05 

8D 

EC 

06 

8D 

0420 

09 

07 

A9 

AE 

8D 

69 

06 

8D 

0428 

6E 

06 

8D 

A7 

06 

8D 

89 

09 

0430 

8D 

91 

09 

80 

99 

09 

A9 

D9 

0438 

8D 

88 

06 

8D 

SE 

07 

8D 

DA 

0440 

08 

A9 

DC 

8D 

89 

06 

8D 

5F 

0448 

07 

8D 

DB 

08 

A9 

78 

85 

01 

0450 

A9 

0B 

85 

02 

A0 

00 

A9 

00 

0458 

91 

01 

C8 

D0 

F9 

E6 

02 

A5 

0460 

02 

C9 

16 

D0 

EF 

A9 

0D 

8D 

0468 

88 

0B 

A9 

00 

8D 

87 

0B 

A2 

0470 

00 

BD 

48 

0A 

C9 

00 

F0 

07 

0478 

20 

D2 

FF 

E8 

4C 

71 

04 

A2 

0480 

00 

20 

CF 

FF 

9D 

50 

0C 

C9 

0488 

0D 

F0 

08 

E8 

E0 

12 

F0 

03 

0490 

4C 

81 

04 

E8 

A9 

0D 

9D 

50 

0498 

0C 

AD 

50 

0C 

C9 

30 

F0 

04 

04A0 

C9 

31 

D0 

CB 

AD 

51 

0C 

C9 

04A8 

3A 

D0 

C4 

A2 

00 

BD 

09 

0B 

04B0 

C9 

00 

F0 

07 

20 

D2 

FF 

E8 

04B8 

4C 

AD 

04 

A2 

00 

20 

CF 

FF 

04C0 

9D 

70 

0C 

C9 

0D 

F0 

08 

E8 

04C8 

E0 

12 

F0 

03 

4C 

BD 

04 

AD 

04D0 

70 

0C 

C9 

30 

F0 

04 

C9 

31 

04D8 

D0 

95 

AD 

71 

0C 

C9 

3A 

D0 

0510 

52 

9D 

53 

0C 

E8 

E8 

E8 

E8 

0518 

8E 

86 

0B 

86 

01 

A9 

05 

85 

0520 

D2 

85 

D3 

A9 

08 

85 

04 

A9 

0528 

50 

85 

DA 

A9 

0C 

85 

DB 

20 

0530 

63 

F5 

20 

F7 

09 

20 

CE 

09 

0538 

20 

CE 

09 

18 

AD 

78 

0B 

6D 

0540 

79 

0B 

B0 

07 

C9 

00 

00 

03 

0548 

4C 

Al 

06 

20 

CE 

09 

AD 

78 

0550 

0B 

8D 

7A 

0B 

AD 

79 

0B 

8D 

0558 

7B 

0B 

20 

D7 

09 

AD 

79 

0B 

0560 

C9 

00 

F0 

04 

C9 

89 

F0 

08 

0568 

C9 

8D 

F0 

04 

C9 

A7 

D0 

EA 

0570 

A9 

00 

8D 

7C 

0B 

8D 

70 

0B 

0578 

20 

07 

09 

AD 

79 

0B 

C9 

3A 

0580 

B0 

OB 

90 

03 

20 

07 

09 

AD 

0588 

79 

0B 

C9 

20 

F0 

EA 

C9 

3A 

0590 

B0 

58 

C9 

30 

90 

54 

A9 

0A 

0598 

85 

01 

A9 

00 

80 

7E 

0B 

A2 

05A0 

08 

0A 

2E 

7E 

0B 

06 

01 

90 

05A8 

09 

18 

60 

7C 

0B 

90 

03 

EE 

05B0 

7E 

0B 

CA 

D0 

EC 

BD 

7C 

08 

05B8 

AD 

7D 

08 

0A 

85 

01 

0A 

0A 

05C0 

18 

65 

01 

6D 

7E 

0B 

80 

70 

05C8 

0B 

38 

AD 

79 

0B 

E9 

30 

80 

05D0 

79 

0B 

18 

AD 

79 

0B 

60 

7C 

05D8 

0B 

8D 

7C 

0B 

90 

03 

EE 

7D 

05E0 

0B 

20 

D7 

09 

AD 

79 

0B 

4C 

05E8 

8E 

05 

AD 

7C 

0B 

8D 

83 

0B 

05F0 

AD 

7D 

0B 

8D 

84 

0B 

20 

9C 

05F8 

09 

AD 

85 

0B 

C9 

FF 

F0 

71 

0600 

AD 

87 

0B 

C9 

00 

D0 

07 

AD 

0610 

08 

80 

IE 

06 

AD 

88 

0B 

80 

0618 

IF 

06 

AD 

7C 

0B 

80 

FF 

FF 

0620 

EE 

87 

0B 

AD 

87 

0B 

C9 

00 

0628 

D0 

0A 

EE 

88 

0B 

AD 

88 

0B 

0630 

C9 

16 

B0 

22 

AD 

87 

0B 

80 

0638 

44 

06 

AD 

88 

0B 

80 

45 

06 

0640 

AD 

7D 

0B 

80 

FF 

FF 

EE 

87 

0648 

0B 

AD 

87 

0B 

C9 

00 

00 

03 

0650 

EE 

88 

0B 

4C 

71 

06 

A2 

00 

0658 

BD 

39 

0B 

C9 

00 

F0 

07 

20 

0660 

02 

FF 

E8 

4C 

58 

06 

A9 

05 

0668 

20 

E2 

F2 

A9 

0F 

20 

E2 

F2 

0670 

60 

A2 

00 

BD 

IF 

0B 

C9 

00 

0678 

F0 

07 

20 

02 

FF 

E8 

4C 

73 

0680 

06 

AE 

7C 

0B 

AD 

70 

0B 

20 

commodore 

SHOW  SPECTACULAR 


8032-32K  80  COL  CRT 


REG  S1495 


$1065 


64K  ADD-ON  MEMORY 


REG  S500 


$395 


9000  ^34K  SUPER  PET 


REG  81 995 


$1795 


4032  32K  40  COL  CRT 


REG  S1295 


$965 


4016  16K  40  COL  CRT 
REG  $995 


$765 


8050-DUAL  DISK  950K 


REG  $1795 


$1295 


4040-DUAL  DISK  343K 


REG  S1295 


$995 


2034-SfNGLE  DISK  170K 


REG  S495 


$525 


C2N-CASSETTE  DRIVE 


REG  $75 


$65 


4022-80  COL  PRINTER 


REG  S795 


$595 


8023P-136  COL  PRINTER 


REG  S995 


$849 


8300P-40CPS  LTR  QLTY 


REG  $2250 


$1995 


8024-MANNESMAN  TALLEY 

"""'^    $1595 


8024L-LETTER  TALLEY 

REG  $2495       3>J9p5 

25CPS-STARWRITER 

REG  S1895 


$1445 


CBM-IEEE  MODEM 


REG  $279 


$229 


VOICE  SYNTHESIZER 

REGS395         3329 


PET  TO  IEEE  CABLE 


REG  S39.95 


$34 


IEEE  TO  IEEE  CABLE 


MATOR  SHARK 
HARD  DISK  DRIVE 


REG  $49.95 


$39 


VIC  20 


REG  S299 


$265 


VIC  1540  DISK  170K 

REG  $599  ^^gg 


VIC  1515  30CPS  PRINTER 

REG$39533^ 


VIC  1011  RS  232  INTER 

REG  $49.95      a«q 

VIC  1112  IEEE  INTER 


REG  $99.95 


$79 


special  pricing  on  Atari,  Apple,  Digilog,  Epson,  Hayes  Modem, 


*Winchester  Disk 

*  Commodore  DOS  2.5 

*24  Megabyte 

$6475 

Strobe  100  Plotter 

*PET  Interface 

'Software  Pack 

$975  I 

SCHOOL  SPECIALS 

3  for  2  Pricing 

CALL  US! 

20%  Off  on  Software 
Printwheels 


PHILADELPHIA  COMPUTER  DISCOUNT© 


P.O.  Box  170   St.  Davids,  PA   19087   (215)687-8540 

MAIL  ORDER  PHONE  1-800-345-1289 


PREPAID  ORDERS  SHIPPED  FREE 

VISA  &  MASTERCARD  ADD  3% 

COD  -  UPS 

PA  RESIDENTS  ADD  6%  SALES  TAX 

Hueic 


162 


COMPUTE! 


July.  1982,  Issue  26 


0688  83  CF  AD  79  0B  C9  2C  D0 
0690  03  AC  70  05  C9  20  F0  03 
0698  4C  5D  05  20  D7  09  4C  8A 
06A0  06  20  CC  FF  A9  05  20  E2 
06A8  F2  A2  00  BD  49  0B  C9  00 
06B0  F0  07  20  D2  FF  E8  AC  AB 
06B8  06  A2  00  BD  70  0C  C9  00 
06C0  F0  04  E8  4C  BB  06  A0  00 
06C8  89  70  0B  C9  00  F0  08  90 
06D0  70  0C  C8  E8  4C  C8  06  86 
06D8  Dl  A9  06  85  D2  85  D3  A9 
06E0  08  85  D4  A9  70  85  DA  A9 
06E8  0C  85  DB  20  63  F5  20  F7 
06F0  09  AE  86  0B  86  Dl  A9  05 
06F8  85  D2  85  D3  A9  08  85  D4 
0700  A9  50  85  DA  A9  0C  85  DB 


0710  09  A2  06  20  C9  FF  AD  78 

0718  0B  20  D2  FF  AD  79  0B  20 

0720  D2  FF  20  CC  FF  A9  00  BD 

0728  7F  0B  20  CE  09  AD  78  0B 

0730  8D  80  0B  AD  79  0B  8D  81 

0738  0B  A9  00  BD  82  0B  18  AD 

0740  78  0B  6D  79  0B  B0  07  C9 

0748  00  D0  03  4C  63  09  20  CE 

0750  09  AE  78  0B  8E  83  08  AO 

0758  79  0B  8D  84  0B  20  83  CF 

0760  20  D7  09  AD  79  0B  C9  20 

0768  F0  F6  C9  3A  F0  F2  C9  00 

0770  F0  0E  C9  8F  D0  19  20  D7 

0778  09  AD  79  0B  C9  00  D0  F6 

0780  A9  01  8D  82  0B  20  9C  09 

0788  AD  85  0B  C9  FF  D0  9B  A2 

0790  06  20  C9  FF  AD  80  0B  20 

0798  D2  FF  AD  81  0B  20  D2  FF 

07A0  AD  83  0B  20  D2  FF  AD  84 

07A8  0B  20  D2  FF  20  CC  FF  A9 

07B0  04  8D  7F  0B  AD  82  0B  C9 

07B8  00  F0  12  A2  06  20  C9  FF 

07C0  A9  3A  20  D2  FF  20  CC  FF 

07C8  A9  05  8D  7F  0B  A9  B0  BD 

07D0  82  08  4C  E9  07  A2  06  20 

07D8  C9  FF  AD  79  0B  20  D2  FF 

07E0  20  CC  FF  EE  7F  0B  20  D7 

07E8  09  AD  79  0B  C9  89  F0  08 

07F0  C9  83  F0  04  C9  A7  D0  05 

07F8  A9  01  8D  82  0B  AD  79  0B 

0800  C9  00  D0  03  4C  9C  08  C9 


0810  D7  09  AD  79  0B  C9  00  00 

0818  F6  4C  9C  08  AD  79  0B  C9 

0820  22  D0  46  A2  06  20  C9  FF 

0828  AD  79  0B  20  D2  FF  20  CC 


0830  FF  EE  7F  0B  20  D7  09  AD 

0838  79  0B  C9  22  F0  97  C9  00 

0840  D0  El  AD  82  08  C9  00  F0 

0848  0D  A9  00  8D  79  08  A2  06 

0850  20  C9  FF  4C  IC  07  A2  06 

0858  20  C9  FF  A9  22  20  D2  FF 

0850  20  CC  FF  EE  7F  0B  4C  9C 

0868  08  AD  79  0B  C9  3A  F0  03 

0870  4C  D5  07  20  D7  09  AD  79 

0878  08  C9  20  F0  F6  C9  3A  F0 

0880  F2  C9  8F  F0  8A  C9  00  F0 

0888  13  A2  06  20  C9  FF  A9  3A 

0890  20  D2  FF  20  CC  FF  EE  7F 

0898  0B  4C  E9  07  AD  82  08  C9 

08A0  00  D0  07  AD  7F  08  C9  A8 

08A8  90  0D  A9  00  8D  79  0B  A2 

08B0  06  20  C9  FF  4C  IC  07  20 

0888  CE  09  18  AD  78  08  60  79 

08C0  0B  B0  07  C9  00  D0  03  4C 

08C8  63  09  20  CE  09  AE  78  0B 

0800  8E  83  08  AD  79  08  8D  84 

08D8  08  20  83  CF  20  9C  09  AD 

08E0  85  0B  C9  FF  F0  2C  20  D7 

08E8  09  AD  79  0B  C9  8F  D0  03 

08F0  4C  0F  08  C9  20  F0  EF  09 

08F8  3A  F0  EB  C9  00  F0  B8  A2 

0900  06  20  C9  FF  A9  3A  20  D2 


0910  E9  07  A2  06  20  C9  FF  A9 

0918  00  20  D2  FF  A9  01  20  D2 

0920  FF  20  D2  FF  AD  83  08  20 

0928  D2  FF  AD  84  08  20  D2  FF 

0930  20  CC  FF  A9  04  8D  7F  08 

0938  20  D7  09  AD  79  08  C9  20 

0940  F0  F6  C9  3A  F0  F2  C9  00 

0948  F0  04  C9  8F  D0  0D  A2  06 

0950  20  C9  FF  A9  3A  20  D2  FF 

0958  20  CC  FF  A9  00  8D  82  08 

0960  4C  E9  07  A2  06  20  C9  FF 

0968  A9  00  20  D2  FF  20  D2  FF 

0970  20  D2  FF  20  CC  FF  A2  00 

0978  BD  65  0B  C9  00  F0  07  20 

0980  D2  FF  E8  4C  78  09  A9  05 

0988  20  E2  F2  20  F7  09  A9  05 

0990  20  E2  F2  20  F7  09  A9  0F 

0998  20  E2  F2  60  A9  0C  85  02 

09A0  A9  00  85  01  A8  AA  AD  83 

09A8  0B  Dl  01  D0  09  C8  AD  84 

09B0  08  Dl  01  F0  13  88  C8  C8 

09B8  D0  EC  E6  02  A5  02  C9  16 

09C0  D0  DE  A9  00  8D  85  0B  60 

09C8  A9  FF  8D  85  0B  50  20  D7 

09D0  09  AD  79  0B  8D  78  08  A2 

09D8  05  20  C6  FF  20  E4  FF  85 

09E0  01  A9  01  8D  89  0B  20  F7 

09E8  09  A5  01  8D  79  0B  A9  00 


COMMODORE  VIC 

PERSONAL  COMPUTER 
60%  more  powerful  than  VIC-20 


$299 

Special  Sale  Price 


00 


FOR  THE  SPECIAL  SALE  PRICE  OF 
$299.00  you  get  the  COMMODORE 
VIC-20  computer  plus  WE  ADD  3000, 
BYTES  OF  MEMORY  to  give  you  60% 
MORE  PROGRAMMING  POWER!  This 
powerful  fullsized  extra  featured  com- 
puter includes  the  6502  microprocessor 
(LIKE  APPLE)  20,000  bytes  ROM  with  a 
16K  extended  LEVEL  II  Microsoft  BASIC, 
8000  bytes  RAM  plug  in  expandable  to 
32,000  bytes  RAM,  66  key  typewriter  pro- 
fessional expanded  keyboard  with 
graphic  symbols  on  keys,  color  com- 
mand keys,  high  resolution  graphics,  512 
displayable  characters,  text  display  is  22 
lines  23  characters,  sound  and  music, 
real  time,  upper  lower  case,  full  screen 
editing  cursor,  floating  point  decimal  and 
trig  functions,  string  arrays,  scrolling, 
multi  statement  lines,  file  managment, 
PEEK  AND  POKE.  Assembly  machine 
language  is  available.  We  have  easy  to 
use  self  leaching  books  and  programs. 
Accept  TAPE-DtSK-PLUG  IN  CART- 
RIDGES, connects  to  any  TV,  includes 
AC  adaptor,  R.F.  modulator,  switch  box, 
self  leaching  instruction  book,  comes  in 
a  beautiful  console  case  for  ony  $299.00. 

LOW  COST  PLUG  IN  EXPANSION 

Expansion  accessories  plug  directly  into 
this  computer,  extra  RAM  memory,  Con- 
trollers, a  Cassette,  A  Telephone  Modem 
for  only  $109.00,  an  80  Column  Printer  for 
$375.00,  even  the  170K  Disk  Drive  plugs  In 
direct.  You  do  not  have  to  buy  an  expen- 
sive expansion  interface. 

WHY  SUCH  A  LOW  PRICE 

WE  GIVE  YOU  60%  to  400%  MORE  PRO- 
GRAMMING POWER  THAN  VIC-201  You 
can't  beat  our  prices  for  the  VIC-20  with 
increased  programming  power  added! 
We  sell  direct  to  customers.  We  save 
you  the  profit  margin  normally  made  by 
computer  stores,  department  stores,  and 
distributors.  We  are  willing  to  take  a 
smaller  margin  to  develop  volume! 

INVEST  IN  YOUR  CHILDREN 

Educate  your  children  while  they  play. 
Every  kid  wants  to  play  electronic  games. 
(We  have  some  of  the  best).  The  next 
natural  Jtep  for  their  curiosity  is  to  try 
simple  programming.  They  can  do  this  in 
20  minutes  with  our  simple  self  teaching 
instruction  book.  High  schools  are 
leaching  computer  math,  science  and  pro- 
gramming ■  some  start  In  grammar  school. 


•  We  Stock  More  VIC-20 
Programs  and  Accessories 
than  anyone  in  the  USA! 

•  We  Stock  "United  Micro's" 
VIC-20  Super  Programs! 
Arcade  Quality  up  to  256 
Levels-Super  Graphics 
Sound-Fast  Action 
Unrelenting  Challenge. 

•  VIC-20  Owners  Write  for 
Free  Catalog. 


If  you  provide  this  computer  as  a  Teacher 
and  Tutor  at  home,  before  you  know  it 
your  child  will  be  writing  computer  pro- 
grams. You  can  use  yourT.V.  to  EDUCATE 
not  frustrate  your  family  and  eliminate 
T.V.  boredom  with  programs  that 
challenge,  stimulate  and  entertain  the 
whole  family.  We  have  a  wide  variety  of 
games,  recreational,  home  finance  and 
educational  programs  to  choose  from. 
Why  pay  $140.00  to  $295.00  for  an  elec- 
tronic game  when  you  can  buy  this  power- 
ful computer  for  only  $299.00. 

COMMUNICATE  WITH  THE  WORLD 

Plug  in  your  VIC  telephone  modem.  Now 
you  can  get  a  world  of  information  through 
your  telephone,  plus  electronic  mail.  Just 
dial  up  the  information  you  want.  UPI  wire 
service,  stock  market,  historical  informa- 
tion by  topic  from  over  60  magazines,  in- 
cluding New  York  times.  Airline  informa- 
tion, order  tickets,  get  weather  informa- 
tion anywhere  in  the  world,  restaurant  and 
hotel  information,  thousands  of 
categories  are  on  line  for  you,  business, 
finance,  education,  entertainment,  games 
etc.  YOU'LL  BE  THE  TALK  OF  \OUR 
NEIGHBORHOOD.  Our  telephone  modem 
price  is  by  far  the  lowest  available. 

IMMEDIATE  REPLACEMENT  WARRANTY 

If  your  computer  fails  because  of  warranty 
defect  within  90  days  from  date  of  pur- 
chase, you  simply  send  your  computer  to 
us  via  United  Parcel  Service  prepaid.  We 
will  "immediately"  send  you  a  replace- 
ment computer  at  no  charge  via  United 
Parcel  Service  prepaid.  No  one  we  know 
gives  you  this  kind  of  warranty  service. 
Most  computer  warranty  service  takes  30 
to  90  days  to  handle  -  this  fantastic  "im- 
mediate replacement  warranty"  is  backed 
by  COMMODORE  COMPUTER,  a  MAJOR 
national  brand  electronics  manufacturer. 


SPECIAL  SALE  PRICE  $299 

FOR  ONLY  $299  you  get  the  POWERFUL 
28K  COMMODORE  VIC  with  60%  MORE 
PROGRAMMING  POWER  THAN  VIC-20! 
28,000  bytes  total  memory  (20,000  bytes 
ROM,  8000  bytes  RAM  and  extended 
LEVEL  II  BASIC),  the  professional  66 
keyboard,  color,  sound,  music  self 
teaching  instruction  book,  A.C.  adaptor, 
R.F.  modulator,  T.V.  switch  box,  owners 
manual  plus  all  the  other  features  listed, 
in  a  beautiful  console. 


SPECIAL  SALE  PRICE  $379 

FOR  ONLY  $379  you  get  the  41K  COM- 
MODORE VIC  with  400%  MORE  PRO- 
GRAMMING POWER  THAN  VIC-20!  We 
add  16,000  bytes  memory  to  the  VIC-20. 
You  get  a  total  of  41,000  bytes  memory 
(20,000  bytes  ROM,  21,000  bytes  RAM 
and  extended  LEVEL  II  BASIC)  plus  all 
the  extra  features  shown  for  the  28K 
COMMODOREVIC. 

SPECIAL  DATA  CASSETTE  SALE 

THIS  SPECIAL  DATA  CASSETTE  has 
special  electronics  that  eliminates 
loading  problems  and  loss  of  programs 
recorded  on  tape!  Includes  tape  counter 
and  your  selection  of  any  $14.95  "GAME 
PACK"  program  FREE!!!  Reg.  Price 
$90.00  Sale  Price  $69.00  (A  standard  tape 
recorder  will  not  work). 

15  DAY  FREE  TRIAL 


DON'T  MISS  THIS  SALE  ORDER  NOW 

I    I    Please  send  me  the  28K 
' — '    Commodore  VIC  Computer  for 
$299.00 

I    I    Please  send  me  the  41 K 

Commodore  VIC  Computer  for 
$379.00 

I    I    Special  Data  Cassette  $69.00 

We   ship   C.O.D.   and   honor  Visa  and 
Master  Card. 

Name  


Address 


City 


State. 


.Zip  Code. 


n  VISA      D  MASTER  CARD      D  C.O.D. 
Credit  Card  No 


Expiration  Date 

Add  $10.00  for  shipping,  handling  and  In- 
surance. Illinois  residents  please  add 
6%  tax.  Add  $20.00  for  CANADA,  PUER- 
TO RICO,  HAWAII  orders.  WE  DO  NO  EX- 
PORT TO  OTHER  COUNTRIES. 
Enclose  Cashiers  Check,  Money  Order  or 
Personal  Check.  Allow  14  days  for 
delivery  (21  days  for  Personal  Check 
orders,)  2  to  7  days  for  phone  orders. 
Canada  orders  must  be  in  U.S.  dollars. 


we  are  ^,_ 

commodore  VIC 

experts!! 


ENTERPRIZES 

BOX  550,  BARRINGTON,  ILLINOIS  60010 
Phone  312/382-5244  to  order 


164 


09F0 

8D 

89 

0B 

20 

CC 

FF 

60 

A2 

09F8 

0F 

20 

C6 

FF 

A2 

00 

20 

E4 

0A00 

FF 

C9 

0D 

F0 

07 

9D 

A0 

0C 

0A10 

20 

CC 

FF 

AD 

A0 

0C 

C9 

30 

0A18 

D0 

08 

AD 

Al 

0C 

C9 

30 

D0 

0A20 

01 

60 

A9 

0D 

20 

D2 

FF 

A2 

0A28 

00 

BD 

A0 

0C 

20 

D2 

FF 

E0 

0A30 

00 

F0 

04 

E8 

4C 

29 

0A 

68 

0A38 

68 

AD 

89 

08 

C9 

00 

F0 

07 

0A40 

A9 

00 

8D 

89 

0B 

68 

68 

60 

0A48 

93 

20 

20 

20 

20 

20 

20 

20 

0A50 

4D 

41 

43 

48 

49 

4E 

45 

20 

0A58 

4C 

41 

4E 

47 

55 

41 

47 

45 

0A60 

20 

43 

4F 

4D 

50 

41 

43 

54 

0A68 

4F 

52 

0D 

0D 

0D 

42 

59 

3A 

0A70 

20 

44 

41 

56 

49 

44 

20 

45 

0A78 

56 

41 

4E 

53 

0D 

0D 

0D 

45 

0A80 

4E 

54 

45 

52 

20 

46 

49 

4C 

0A88 

45 

20 

4E 

41 

4D 

45 

20 

57 

0A90 

49 

54 

48 

20 

54 

48 

45 

20 

0A98 

44 

52 

49 

56 

45 

20 

4E 

55 

0AA0 

4D 

42 

45 

52 

0D 

0D 

50 

52 

0AA8 

45 

43 

45 

44 

49 

4E 

47 

20 

0AB0 

49 

54 

2E 

0D 

0D 

45 

58 

41 

COMPUTEI 

July,  1982.  Issue 

26 

0AB8 

4D 

50 

4C 

45 

3A 

20 

20 

20 

0AC0 

30 

3A 

46 

49 

4C 

45 

4E 

41 

0AC8 

4D 

45 

0D 

0D 

44 

4F 

20 

54 

0AD0 

48 

45 

20 

53 

41 

4D 

45 

20 

0AD8 

57 

49 

54 

48 

20 

54 

48 

45 

0AE0 

20 

4F 

55 

54 

50 

55 

54 

20 

0AE8 

46 

49 

4C 

45 

20 

4E 

41 

4D 

0AF0 

45 

2E 

0D 

0D 

0D 

0D 

49 

4E 

0AF8 

50 

55 

54 

20 

46 

49 

4C 

45 

0B00 

20 

4E 

41 

4D 

45 

20 

3F 

20 

SMITH  CORONA® 
Daisy  Wheel  Printer/Typewriter 
with  Letter  Quality  Printing. 

RS232oriEEE-488 

Interface  Included. 

Use  with  CBM,  Apple,  Atari, 

and  Others. 

TP-1 
Available 
at  $789.00 


KS-' 


Albany  Typewriter  &  Computer 

923  San  Pablo  Avenue 
.1..    Albany,  CA  94706 
^^        (415)526-1959 


0B10 

54 

20 

46 

49 

4C 

45 

20 

4E 

0B18 

41 

4D 

45 

20 

3F 

20 

00 

93 

0B20 

46 

4F 

55 

4E 

44 

20 

54 

41 

0B28 

52 

47 

45 

54 

20 

4C 

49 

4E 

0B3  0 

45 

20 

4E 

55 

4D 

42 

45 

52 

0B38 

00 

93 

54 

4F 

4F 

20 

4D 

41 

0B40 

4E 

59 

20 

4C 

49 

4E 

45 

53 

0B48 

00 

93 

43 

4F 

4D 

50 

41 

43 

0B50 

54 

49 

4E 

47 

20 

4C 

49 

4E 

0B58 

45 

20 

4E 

55 

4D 

42 

45 

52 

0B60 

2E 

2E 

2E 

2E 

00 

93 

12 

44 

0B68 

4F 

4E 

45 

0D 

0D 

0D 

0D 

00 

0B70 

2C 

50 

2C 

57 

00 

00 

00 

00 

NEW  FOR  ATARI 

FROM 

MMG  MICRO  SOFTWARE 


****#***(3  AMES* ******* 

CHOMPER  -  All  machine  laiigUttsP  arcade  game.  One  ol  the  only 

I  ompuler  games  with  inlelligeni  monsters .  Destined  to  become  a  classic 

Requires  16K.  1  Joystick   S24.95 

ASTEROID  MINERS  -  Race  agamsl  lime'  Your  mission  is  to  mine 
all  the  asteroids  before  time  runs  out    BASIC  and  machine  language. 
Requires  32K,  1  Joystick    S29.95 

........NECESSITIES'******* 

DISK  COMMANDER  -  Just  save  this  program  on  your  BASIC 
disks  and  it  will  autoboot  and  automatically  list  all  programs  (rom  the  disk 
onto  your  screen.  Simply  run  any  program  by  typing  in  a  number 

Requires  16K.  Disk  only $19.95 

RAM  TEST  -  The  most  thorough  and  lastesl  memory  lesi  available 
tor  the  atari  This  all  machine  language  program  takes  4  mir^  t<j  test  48K 
It's  the  only  program  that  tests  the  cartridge  area  ot  RAM.  Good  lor  new 
400  800  computer  owners  and  (or  testing  new  RAM  boards 

Requires  8K $19.95 

........BUSINESS  HOME******** 

MAILING  LIST  -  Extremely  last  BASIC  and  machine  language 
program.  Each  data  disk  holds  over  500  hies  Sort  on  any  of  6  fields  at 
machine  language  speed   Use  any  si?e  labels  or  envelopes. 

Requires  16K.  Disk  only 539,95 

Unless  otherwise  specified,  available  on  cassette  and  disk  Please  specify 

when  ordering. 

MMG  is  seeking  new  Atan  Authors.  Please  call  or  write  lor  details. 

Please  send  check  or  money  order  to: 
MMG  MICRO  SOFTWARE 

P.O.  Box  131 
Marlboro,  New  Jersey  07746 

or  call  (201)  583-4362   For  C.O.D.  deliuenes 
New  Jersey  residents  add  5%  state  tax. 

ATARI  IS  a  regtsl^Trd  lradtm,u^  of  ATARI.  Inc 


July.  1982.  Issue  26 


COMPUTE! 


165 


Insight:  Atari 


Bill  Wilkinson 

Optimized  Systems  Software 

Cupertino,  CA 


This  month  I  will  first  respond  to  some  of  that 
unanswered  mail;  then  part  six  oi  Inside  Atari 
BASIC,  [a  coiithiiiing series  within  this  column]  will 
flelve  t'lMther  inlo  string  and  arra>  mature;  and 
fnially  we  will  do  a  pielimiMary  exploration  oi  the 
depths  of  Atari's  FMS. 

Graphics  Revisited 

AetLialK  ,  the  title  of  this  section  niij>ht  better  he 
"maeliiiie  languas^e  revisited."  Probably  none  of 
my  eolumns  has  generated  as  much  response  as 
part  fotir  of  my  Atari  I/O  series,  subtitled 
"(Graphics,"  in  the  Fcbruar\ ,  H)S2,  issue  of 
COMPUTE!  Liiforltinaieh ,  most  of  the  response 
has  been  oi  the  "1  can't  make  it  work"  varietv.  Of 
coin-se,  my  first  response  is  "but  I  know  it  works!" 
Yet  still  the  letters  ask,  "How?" 

I  flo  not  inlend  to  tinu  tliis  column  into  a 
tutorial  on  machine  language,  ihere  are  several 
good  books  available  on  6502  machine  language 
(including  the  Inmans'  book  specifically  for  The 
Atari  Assembler),  and  any  struggling  beginner  who  is 
trying  to  make  do  without  at  least  one  of  them  is 
simply  a  masochist.  Howevei-,  mv  ego  savs  that  it 
will  be  belter  fed  if  more  i^eaders  understand  my 
articles. 

For  the  most  part,  it  seemed  that  those  who 
had  troul)!e  with  my  February  article  assiuned  that 
what  was  published  was  some  neat  program  to  be 
used  as  is.  Not  .so!  I  had  simply  gi\en  you  a  set  of 
subroutines  to  use  with  your  own  programs.  For  an 
example,  let  us  take  a  simple  BASIC  routine  and 
its  machine  language  equivalciu.  iMrst,  the  BASIC: 

30000   POKE  20,0  :  POKE  19,0 
30010   IF  PEEK(I9)  =  0  THEN  30010 
30020  RETURN 

Now,  you  would  not  mistake  that  for  a  complete 
BASIC  program.  But,  ill  told  you  that  entering 
this  i-outine  and  then  executing  a  GOSUB  3006() 
from  your  program  would  produce  a  4.2667-sccond 
pause,  you  would  know  when  and  how  to  use  it.  So 
let's  do  the  same  thing  in  machine  language: 

PAUSE 

LDA#0 

STA  20  ;  "poke  20,0" 

ST  A  19;  "poke  19,0" 


LOOP 

LDA  19 

BEQ  LOOP  ;  "if  peek(19)  =  0  then  loop" 

RTS  ;  "return" 

Again,  this  is  not  a  complete  program!  But  if 
yoii  enter  it  (say  at  the  end  of  your  own  machine 
langLiage  program)  and  then  execute  a  JSR  PAUSE, 
it  will  produce  a  4.2667  second  pause.  Ncjte,  then, 
that  JSR  in  machine  language  is  the  etjuivalent  of 
GOSUB  in  BASIC. 

The  graphics  routines  (Program  5)  in  my 
February  article  are  just  subroutines,  to  be  placed 
in  your  own  machine  language  program  and  then 
JSRed  lo  perform  their  actions.  Perhaps  the  biggest 
mistake  I  made  was  in  presenting  these  as  an  as- 
sembled listing  (complete  with  "*  =  $660").  I  cer- 
tainly never  used  them  as  such.  In  point  of  fact,  I 
tested  them  by  .INCLUDEing  them  in  my  test 
programs,  which  were  written  with  the  OSS  EASMD 
.Assembler/Editor.  .And  one  of  the  test  programs  I 
used  was,  indeed,  the  example  given  on  page  77  of 
that  same  article. 

So  how  do  Ycf»  get  these  subroutines  in  and 
working  lor  you?  First  and  i'oremost,  you  obviously 
must  type  in  all  that  code.  Perhaps  the  best  thing  to 
do  would  be  to  type  it  in  exactly  as  shown,  including 
even  the  "*  =  $660"  and  the  ".END".  I  hen  assemble 
it  and  carefully  compare  the  object  code  generated 
with  thai  in  the  magazine.  When  all  appears  correct, 
remove  the  "•'■  =  "  line  and  the  "'.END"  line,  re- 
number the  whole  thing  (I  would  suggest  REN 
29000,5  or  .something  similar),  and  LIST  it  to 
diskette  or  ca.ssette.  Now  use  NEW  and  write  vour 
mainline  code.  When  you  are  reasonably  satisfied 
with  it,  LIST  it  to  disk  or  cas.sette  also. 

Now  what?  Obviously,  if  you  have  OS/A +  ,  I 
suggest  you  use  .INCLUDE  (an  assembler  pseudo- 
op  which  allows  you  to  include  one  file  while  as- 
sembling another).  In  iact,  I  tend  to  write  assembly 
code  structured  as  follows: 

.INCLUDE  #D:SYSEQU.ASM 

<my  mainline  code> 

.INCLUDE  #D:library-routine-nuniber-l 

.INCLUDE  #D:library-routine-number-2 

•END 

li  my  "mainline"  code  is  big  enough,  I  may 
even  break  it  into  two  or  three  pieces  and 
.INC^LUDE  each  of  them  separately. 

But  what  if  you  don't  have  .INCILUDE  capa- 
bility? Well,  several  assemblers  have  "FILE"  or 
"CHAIN,"  which  are  not  c|uite  as  flexible  (since 
you  don't  return  to  where  yoti  left  off  after  you 
have  assembled  a  chained-to  file. ..thus  making  the 
procediu'e  next  to  useless  for  zero  page  equate 
files,  etc.);  but  the  principle  is  generally  the  same: 
put  your  mainline  code  first  and  then  CHAIN  to 


166 


COMPUTEI 


the  subroutine  files. 

And  what  if  you  have  the  Assembler/Editor 
cartridge?  (For  all  of  its  faults,  it  is  still  a  remarkably 
ilexible  tool,  especially  considering  that  it  is  usable 
\\\[h  cassette-based  systems.)  Again,  the  principle 
holds.  The  onlv  real  difference  is  that  vou  must  do 
the  INCLUDES  your.self.  How?  Via  the  ENTER 
command.  If  vou  haven't  noticed  it  up  until  now, 
get  your  manual  and  read  up  on  the  ",M"  option  of 
KXIER.  Vou  can  merge  two  or  more  machine 
language  program  files  (including  cassette  files)  via 
the  "',M"'  option!  Just  as  you  can  vvith  BASIC,  except 
thai  BASIC  always  presumes  you  want  to  merge. 

Are  there  things  to  watch  out  for?  Of  course. 
Would  I  ever  give  vou  a  method  without  a  handful 
of  caveats?  (I)  II  vou  ENTER/merge  a  file  with  line 
numbers  which  match  some  (or  all)  of  those  in 
niemorv,  you  will  overwrite  the  in-memory  lines. 
(2)  If  you  EVER  forget  the  ",M"  option,  you  will 
wipe  out  everylhiug  in  memory  so  far.  (3)  Vou 
won't  find  out  about  duplicate  Ial>els  until  you 
assemble  the  whole  thing. 

But  even  with  all  these  cautions,  I  strongly 
recommend  that  you  store  each  of  your  hard- 
earned  routines  on  its  own  file/casselte.  It  then 
becomes  almost  easy  to  write  the  next  program 
that  needs  some  of  those  same  routines. 

liy  the  way,  caution  number  1  in  the  previous 
paragraph  is  (he  reast)n  I  suggested  RENumbering 
the  graphics  routines  to  29()()0,  or  some  such  out  of 
the  way  place.  If  you  make  notes  of  what  each  tile 
(or  cassette)  does,  as  well  as  what  line  luinibcts  it 
occupies,  you  can  build  a  powerful  lihrarv.  And  a 
P.S.:  generally,  .INCLUDE,  FILE,  and  CHAIN 
commands  do  not  require  unique  line  numbers,  so 
you  need  not  worry  about  RENumbering  sub- 
routines for  use  in  such  environments. 

Gozinta  and  Gozouta 

As  long  as  we  are  on  the  subject  ol  machine  lan- 
guage techniques,  I  would  like  to  point  out  the 
ab.solute  necessity  of  establishing  entrv  and  exit 
convenlions  for  each  and  every  subioutine.  .\gain, 
if  vou  will  refer  to  Program  5  from  the  February 
issue,  vou  will  note  that  each  routine  (GRAPH IC-S, 
COLOR.  POSITION,  PLOE.  LOC.AI  E, 
DRAWTO,  and  SETCOLOR)  speciOed  ENTER 
and  EXIT  conditions.  For  example.  GRAPHICS 
requires  that  the  desired  gra]>hics  mode  number 
be  placed  in  the  A-register  before  the  jSR 
GRAPHICS.  Upon  return  (RTS).  theV-register  is 
guaranteed  to  contain  a  completion  status. 

On  machines  wiih  more  registers,  it  is  good 
practice  to  write  subroutines  in  a  way  that  any 
registers  not  specifically  designated  in  the  EN  TER 
and  EXIT  conditions  are  returned  to  the  caller 
unchanged.  On  the  6502  microprocessor,  though. 


it  is  generally  hard  to  write  any  significant  routine 
that  does  not  affect  all  three  registers.  Therefore.  I 
have  adopted  the  opposite  convention  for  tiiis 
CPU:  If  the  ENTER/EX  IF  comments  don't  say 
otherwfse,  I  [jresume  thai  all  registers  are  garbage 
when  the  routine  returns.  Whal  convention  you 
adopt  doesn't  really  matter;  just  be  sure  to  suck  to 
one,  and  only  one,  method  and  vou  won't  go 
\\rong. 

FILL  From  Machine  Language 

For  those  of  you  who  are  experienced  machine 
language  progranuuers  and  have  not  been  kept 
entertained  iq)  to  this  poiiU,  take  lieart.  Fhe  other 
question  most  asked  about  my  February  article  was 
something  like  "so  how  do  \<)u  call  FILL  Ironi 
assembler?  "  I  guess  my  comment  that  FILL  from 
assembly  language  was  exactly  the  same  as  from 
B.ASIC  di<ln't  make  a  very  good  iin]Mession.  So, 
okav,  I  know  when  I'm  licked.  Herewith  is  a  FILL 
subroutine,  which  I  would  hope  you  would  include 
with  the  rest  oi  liie  g!a]jhics  routines  and  keep  in 
your  library  for  future  u.se. 

This  time,  I  won't  make  the  mistake  of  putting 
in  line  iHmil)ets  and  using  "*  =  "  and  ".END"  Fhis 
is  a  straight  subrouline;  ty|ae  it  in  and  JSR  to  it  only 
after  you  have  satisfied  its  EN' PER  conditions. 

FILL  H,V 

;     ENTER:    Mii\l  li<r<  w  /irfvioush'  drmvu  the  righl  hentd  cdgi- 

:  of  till-  inca  Ui  hr  FILLedvia  JSR's  to  PLOT  and 

:  DMA  WT().Jii.-.l  jnior  In  JSR  FILL,  it  must  have 

;  l>r)ji>rmcdii  JSR  Pl.O'F  tt>f-\liihli\h  llic  lojidn 

;  hnlliiifi  iij  thf  Ihif  which  xvilldejiur  llir  hjl  rdi^r  iij 

;  Ihi'  tni'ti  to  l»'  Ft!. Led.  Fli.I,  pifs  ii  nws  that  ihr 

;  adorltifill ivilh  is  Ihal  which  rr«.v  iiiiisl  ti'ci'iilly 

;  limsi'H  : 'iaJSR  COLOR.  Finally.  o>i  c>iln\  FILL 

,;  fxliCfts  the  ir<^islfrs  to  sjnrijy  tlic  ciidiiii^jiosition 

;  of  the  liiic  tchirh  ii'iUdrfiue  the  Icjt  i-dj^c  oj  the 

;  filled  ami.  as  follows; 
:  h  (ho?izi»il(ilj  jiositiou  in  X.,\  icgistcrs 

;  (.V  has  L.SB  itj  position.  A  has  MSB) 

;  V  (vertical)  position  in  )'  rrt;;islrr 

;     EXIT:         Y-rcgistci  has  completion  status  jiom  OS  fill 
■  routine 


I'll,l)Ar      =:      T(>5      ;whcrf  \10  uaiils  llu- till  <()lor 

CI-II.l.         =:      IS       :lillis\l()  IH 

;     ri'-st  ol't'tiuairs  iitf  tiotii  I-chniiiiv  ariick-  and  [)i-ni;r,iin; 


lU.L 


JSR       POSITION  ;sul)i()uLiiictn)mf-VI..  l':IS2 

ailii  U- 
LDA     SAVECOLOR    ;  valik-i-siahlishfd  via  |SR 

COLOR 
STA     FILDAT  :  stv  B.A.SIC  manual:  coloriised 

toi-FM.l. 
LDX    #6*$10  :nif(;...ulicR'S:iionnallvis 


STATISTICS 

FOR 

RESEARCHERS 

R-STAT 

Friendly,  eosy  to  use, 
well  documented. 

INCLUDES: 

•  Database  with  transformations 

•  ANOVA  N  -  way 

•  Analysis  of  COvariance  One  -  way 

•  Stepwise  Multiple  Regression 

(with  Ridge-regression) 

9  Univariate  Statistics 

9  Mulilple  range  tests 

•  Ciosstabs 

•  t  -  tests 

•  Graphics 

•  Menu-driven 


DISKETTE 
&  MANUALS 


$ 


350 


00 


-ATARIsDOS  II 

For  a  FREE  Brochme  or  furtlier 
iniormation  please  call  or  write- 


DSC 


P.O.  BOX  1036 
i:E>fTHflLIA.  WA  98S31 
(206)  7)6-7714 


VISA  4  MASTERCHARGE  ACCEPTED 


^i^-Vii^t.".'- 


;jia#£vr...  . 


SOFTWARE  AUTKORS! 

for  Apple,  Atari,  TRS-80-  NEC,  Hitachi 

Br^derbund  Software  is  looking  for  new  authors  to  join  its 
international  team  of  programmers.  If  you  have  a  product  for 
the  micro  market,  let  us  show  you  the  advantages  of  working 
'  with  our  team  of  design,  production  and  distribution 
specialists,     --...-i^,,^,,,. 

Call   or   write   for  our   free   Authors   Kit    today   or   send    us   a 
machine  readable  copy  of  your  work  for  prompt  review  under.;,..';; 
strictest  confidence.  WV/  W'^' 


derbund  SoPtuiar 


1938  Fourth  Street.  Son  Rafael,  Cfl  94901  •  (415)  456-6424 


RAM 

For  ATARI 
48K  RAM  BOARD  FOR  THE  400 

•  Increases  memory  capacity 

•  Reduces  power  consumption 

•  Reduces  heat 


48K  Boarif 
32K  Board 


$240 
$100 


Intec 

Peripherals 
Corp 

906  E.  Highland  Ave. 
San  Bernardino,  CA  92404 

(714)881-1533 

ATARI,  400,  800  are  Trademarks  of  ATARI,  Inc. 


A  Revolutionary  Concept  In  Software 
For  Tt^e  ATAPI*  400  and  800  Computers 

Sammy  The  Sea  Serpent 
A  Storybook  Prograrn  For  Children  Ages  4  to  7. 

Sammy  The  Sea  Serpent 

is  the  story  of  an  imaginery  sea  creature  who 
is  lost  and  trying  to  find  his  way  home.  The 

story  is  read  aloud  to  your  child  by  a 

professional  actress.  While  the  tale  is  being 

told,  the  child  uses  the  joystick  to  help  Sammy 

out  of  some  tight  spots. 

The  A  side  of  the  cassette  contains  the 

interactive  story;  the  B  side  contains  games 

that  the  child  plays  with  Sammy. 

The  program  uses  voice,  sound  effects,  music, 
color  and  mixed  graphics. 

Sammy  The  Sea  Se»pent 

can  be  used  with  either  the  ATARI  400  or  800 

and  requires  1 6K.  It  is  available  in  cassette 

format  only.  Price  is  $16.95  plus  $2.00 

shipping  and  handling. 

Also  available  at  fine  computer  stores. 


Progiam  Design,  Inc/l  1  Idar  Court  Greenwkh,  CT  06830 
203-661-8799 


ATARI  Is  the  registered  trademark  of  ATARI,  Inc. 


168 


COMPUTIi 


July.  1982.  Issue  26 


LDA 

#CFILL 

:  the  fill  command  (XIO  1 8) 

STA 

ICCOM.X 

: ...  is  specified 

LDA 

#0 

STA 

ICAUX1,X 

ircmcniber.XIO  1 8.  #6,0 

JSR 

CIO 

;  ;iiid  let  llic  OS  do  the  work 

RTS 

;  ...and  give  us  status  in  the  Y-reg 

By  the  way,  did  you  notice  that  we  didn't  actu- 
ally specify  "S:"  for  the  XIO,  as  specified  in  the 
BASIC  manual?  Tliat's  because  the  BASIC  manual 
doesn't  tell  the  whole  truth.  If  you  perform  XIO 
on  an  already  open  file,  the  operating  system  ig- 
nores any  filename  you  give  it!  Want  to  save  a  little 
space  in  your  BASIC  programs?  Use  'XIO  1 8, #6, 
0,0,junk.$'  where  'junk'  is  any  string  variable  you 
happen  to  be  using  for  any  other  purpose  in  your 
program. 

Inside  Atari  BASIC:  Part  6 

Last  month,  we  delved  into  the  hopefully-no- 
longer-mysterious  details  on  how  string  and  array 
space  is  allocated  from  Atari  BASIC  and  BASIC 
A-l- .  We  showed  how  to  fool  BASIC  into  believing 
that  a  perfectly  ordinary  string  was  located  smack 
in  the  middle  of  screen  space.  The  advantage  of 
such  deceptions  is  that  BASIC  can  move  strings  of 
bytes  at  extremely  high  speeds,  faster  than  you 
cotild  ever  hope  to  accomplish  with  any  BASIC 
subroutine. 

We  did  not  discuss  one  other  significant  use  of 
such  siring  moves:  Player/Missile  Graphics.  Obvi- 
ously, if  you  can  move  the  screen  bytes  around, 
you  can  move  the  players  arotmd  just  as  well,  and 
just  as  fast.  Again,  several  games  and  utilities  now 
available  on  the  market  use  just  tliis  technique. 

I  also  promised  in  the  last  column  to  tell  of 
po.ssible  uses  for  multiple  variables  in  the  same 
address  space  (that  is,  having  a  string  and  an  array 
occupying  the  same  hunk  of  memory).  If  the  idea 
interests  you,  read  on. 

One  thing  which  BASICs  in  general  lack  is  a 
good  means  of  handling  record  input/output.  How 
manv  times  ha\'e  vou  seen  programs  doing  disk  I/O 
usmg  PRIN  r#  and  1NPUT#'?  Yuch.  (I  have  several 
reasons  for  that  "yuch,"  but  the  best  one  is  simply 
thai  PRlNT#ing  an  item  means  that  the  number 
of  disk  b\tes  occupied  depends  upon  the  contents 
of  the  item.)  But  what  is  the  alternative?  With 
many  BASICs,  there  is  none.  With  Atari  BASIC 
there  is  at  least  GE  r#  and  PL'T#,  but  they  are 
slow.  So  let  us  examine  a  way  to  make  PRINT# 
and  INPUT#  work  for  us,  instead  of  against  us. 

First,  we  will  examine  a  small  program: 

100  DIM  RECORDS (1) ,NAME$ (20) , QUANTITY 

ORDERED (0} 

110  OPEN  #1  ,8,0, "D: JUNK" 


120  WTP  =  PEEK(134)  +  256*PEEK  (135) 
130  POKE  WTP+4,27  :  POKE  VVTP+6,27 
140  GOSUB  900 

150  PRINT  "GIVE  NAME  AND  QUANTITY:" 
160  INPUT  NAME$ 

170  INPUT  TEMP  :  QUANTITYORDERED (0 )  = 
TEMP 

180  PRINT  #1; RECORDS 

190  CLOSE  #1 

200  REM  READ  FILE  WE  JUST  CREATED 

210  OPEN  #1,4,0,"D:JUNK" 

220  GOSUB  900 

230  INPUT  #1, RECORDS 

240  PRINT  "WE  READ  BACK  IN:" 

250  PRINT  , , NAMES 

260  PRINT  ,, QUANTITYORDERED (0) 

270  CLOSE  #1 

290  END 

900  REM  CLEAR  THE  VARIABLES  

910  NAMES="  ":REM 

20  BLANKS 

920    QUANTITYORDERED (0)=0 

930    RETURN 

Surprised?  Even  though  we  cleared  the  vari- 
ables in  line  220,  the  input  of  line  230  re-read 
them  from  the  file.  How?  Because  line  I.^O  set  the 
dimension  and  Icngili  of  RECORDS  to  27.  which 
includes  (he  original  single  Ijyte  (jf  RE(X)RDS,  the 
20  bytes  of  NAME$.  and  the  six  bvles  of  the  single 
element  of  the  array  QUAN  I ITYORDERED.  So 
PRINT#  thought  it  had  to  print  27  bytes  for 
RECORDS,  and  INPUT#  allowed  RECORDS  to 
accept  up  to  27  bytes. 

Wow!  With  one  fell  swcjop  we  have  managed 
to  allow  fast  disk  I/O  of  any  sized  record,  right? 
Wrong.  Unfortunately,  there  are  several  limitadons 


c  X  WE  DEAL  EXCLU: 


YOUR  MARKETPLACE  FOR: 


J> 


ACTION  QUEST 


EXCLUSIVELY  IN  PRODUCTS 
FOR  THE  ATARI  (THE  BEST)  COMPUTER 

HARDWARE 

800  Computer  16K  S648 

800  Computer  48K  S757 

400  Computer  16K  S338 

810  Disk  Drive  S448 

850  Interface  5178 

410  Recorder  S  78 

825  Printer  '  S599 

16K  Ram  module  S  69 

32K  Ram  module  S109 

Graphics  Tablet  S278 

Trade  your  400  Of  older  800  for  the  new 
model  800  -  Call 


A  real  time  Adventure  game  played 
with  joystick.  You,  as  ttie  gtiost.  move 
from  room  to  room  in  an  attempt  to 
capture  valuable  prizes  while 
eluding  capture  by  strange 
creatures.    526.9O 

16K  DISK  OR  TAPE 


mEGALEG^ 


ARCAOE  QUALITY  MACHINE 
LANGUAGE  GAME 


16KDISK 
OR 
TAPES31.40 


FAST  ACTION  . .  . 

Kill  the  attacking  creatures.  It's  a 
spectacular  arcade  game  with  lots  of 
excitemenll  Sure  to  be  one  of  the  TOP 
games  in  the  months  to  come. 


PRO-FOOTBALL 


Play  against  the 

computer  or  another 

player.  Over  25  olfense 

and  defence  plays.  The 

BEST  football  game 

yet. 


16K 
$26.90  TAPE 
S31.40DISK 


SOFTWARE 

PAC  IVIAN  (cart.) 
Centipede  (cart.) 
Microsoft  Basic  (D) 
Ghost  Hunter  (T) 
AM  Baba  (D)  32K 
Protector  (T)  32K 
Apple  Panic  (D| 
Threshold  (D)  40K  , 
GORF  (D) 
Wizard  of  Wor  (D) 
Text  Wizard  (D) 
Dodge  Racer  (Tl 
Chicken  (T) 
De  Re  Atari 
Atari  Games  Book 
Personal  Finance 
Zork  1  or  IMD) 
Deluxe  Invaders  (D) 
Eastern  Front 
Mousekattack  (D) 
Galactic  Chase  (T) 
Bug  Attack  (T,D) 
Star  Raiders  (Cart) 
Missile  Command 
Midnight  Magic  (D) 
Tanktics  (T,D) 
Controller  (D| 

Call  or  Write  for 


S39.50 
S39.50 
S79.90 
S25.50 
S28.90 
S22.45 
S26.90 
S33.90 
S35.10 
S35.10 
S87.90 
S20.20 
S20.20 
SI  7.90 
SI  3.90 
S67.50 
S35.90 
$31.40 
S25.40 
S31.40 
S22.40 
S26.90 
S44.90 
S39.50 
$31.45 
S24.65 
S27.00 


ATARI  PRODUCTS  CATALOG 

wit^^  nearly  1000  items 


Canyon  Climber 


Smart 

DONKEYS,     'l/     boulders  and  birds 

dropping     rocks  try  to  slop  you   from 

reaching  the  top.  A  real  challenge.  Arcade 

quality, 

16K 

DISK  $26.90       TAPE  $26.90 


The  aliens  have 
landed  and  it's 
your  job  to  save 
the  city. 


(If  you 

canlj  TOP  RATE 
GAME,  ARCAOE 
QUALITY.  HI- 
RES Graphics  & 
Sound. 

32K  $26.90 
DISK  or  TAPE 


FROGGER 


This  is  the 
genuine  FROGGER 
game  that 

you  see  in  the  arcades.  Made  by  the 
same  people  that  made  Jawbreaker 
(One  of  the  top  ten  sellers.] 

16K  DISK  OR  TAPE 
$31.40 


B  TO  ORDER  CALL  TOLL  FREE  800-235-5759 


FOR  INFORMATION 
CALL  805-967-3889 


HOW  TO  ORDER:  Send  cneck  or  money  oraef  or  call  our  toll  free 
number  and  use  your  Visa  Card  Shipping  on  software  iS  S2  00  per 
order  anywhere  m  USA  Hardware  shipping  call  lor  cost  CA 
residents  add  S"!!  sales  lai  Add  3°ii  tor  VISA  or  MC  Equipment 
sub|ec!  to  price  ctiange  and  availability  witfiout  notice 


Store  Hours 
8  am  —  6  pm 
Mon.  —  SaL 


5138  Hollister  Avenue 


'waw 


Santa  Barbara,  CA  93111 


■  Alar,  is  FracTemianc  oi  Atari 


170 


COMPUTEI 


July.  1982,  Issue  26 


lo  this  technique.  ( 1 )  The  record  cannot  be  over 
255  bytes  long  or  INPUT#  won't  be  able  to  retrieve 
it  all.  And  any  size  over  127  bytes  will  wipe  out 
routines/data  in  the  lower  half  of  page  $6()i)  mem- 
ory. (2)  The  record  cannot  contain  a  RF.TURN 
(155  decimal.  9B  he.x)  character.  It  will  print  fine, 
but  the  INPL'T#  will  terminate  on  the  first  RE- 
TURN it  .sees.  (3)  The  other  strings  in  ihe  record 
(NAME$  in  our  example)  will  not  have  their  lengths 
set  properly  by  the  INPLJT#,  thus  necessitadng 
something  like  the  routine  at  line  900.  Btit  if  vou 
insert  -'280  PRINT  LEN(NAME5)",  you  will  always 
get  a  result  of  20. 

Well,  limitations  one  and  three  are  easv  enough 
to  predict  and  understand,  but  how  do  you  insure 
that  your  data  does  not  contain  a  RETURN  code? 
For  strings  wliich  ha\'e  been  INPUT  by  a  tiser, 
that's  easy:  the  RETURN  code  will  never  appear  in 
such  a  string.  But  what  about  numbers?  Remember 
that  we  will  l)e  printing  die  imcrnal  form  of  Atari 
decimal  floating  point  numbers.  Can  such  numbers 
contain  a  byte  with  a  value  of  155  ($9B)?  Yes,  but 
such  a  nmnber  would  be  in  the  range  ol  - 1  E-74  to  - 
9.E-73,  which  is  unlikely  enough  to  ignore  for  most 
pinposes. 

So,  in  sinnmarv.  is  this  make-a-recorcl  tech- 
nique useful?  I'm  not  sure.  Certainly  BGET/BPUT 
or  RGET/RPUT  from  BASIC  A  +  or  their  USR 
equivalems  under  Atari  B.-XSIC  arc  much  ea.sier  to 
code  and  use.  And,  yet,  there  is  a  certain  elegance 
to  record-oriented  techniques  which  is  not  entirely 
lost  to  me.  I  probably  will  stick  with  the  constructs 
we  invented  for  BASIC  A  +  ,  but  I  would  respect  a 
[program  using  the  above  techniques, 

A  few  last  commments:  the  pokes  of  line  130 
depend  on  RECORDS  being  the  first  variable 
defined.  Recall  my  comments  from  last  month 
about  LIS  Ting  and  reF.N'FERinga  program  to 
insure  a  particular  order  ofclefiniiion.  Also,  if  you 
need  to  alter  a  variable  other  than  variable  number 
zero,  remember  that  the  formulas  are: 

VVTP  +  8  *  VNUM  +  4  for  the  LSB  of  the  length 
VVTP  +  8  *  VNUM  +  6  for  the  LSB  of  the  DIMension 

(and,  again,  see  last  month's  article  for  fuller 
explanations). 

And.  finally,  I  really  would  be  interested  in 
hearing  from  anyone  who  uses  the  techniques  I 
have  devised  here  to  produce  a  unique,  real-world 
program  that  docs  things  that  can't  be  done 
otherwise. 

Fun  With  FMS,  Canto  Ttie  First 

Remember  that  fix  for  burst  I/O  I  gave  you  in  the 
Mav,  1982,  issue?  Did  you  trv  it?  Did  it  prevent 
burst  I/O  errors?  Yep.  Did  it  slow  down  every  kind 
of  disk  read?  Yep.  Oooooopsy  daisy.  Well,  you 
can't  be  completely  right  all  the  time.  This  month, 


we  will  try  again. 

First,  I  would  like  to  explain,  in  terms  of  the 
FMS  listing  and  the  commeniarv  (Chapter  !  2  - 
BURST  I/O,  Inside  Atari  DOS,  COMPUTE!  Books) 
why  the  fix  I  gave  you  in  die  May,  1982,  i.ssue 
worked  insofar  as  it  fixed  the  burst  I/O  problems. 

To  begin  with,  examine  the  code  at  locations 
$09F8-$09FD  and  SOAD2-.$0AD7.  These  are  the 
locations  in  PUT-BYTE  and  GET-BYTE,  respec- 
tively, where  the  burst  I/O  routine  is  called.  But  lo! 
In  PUT-BYTE,  the  JSR  to  burst  I/O  is  directly 
preceded  by  a  BCS,  meaning  that  burst  I/O  won't 
occur  unless  carry  is  clear.  But,  in  GET-BYTE,  the 
JSR  to  burst  I/O  is  directly  preceded  by  a  BCC  - 
burst  I/O  occurs  in  read  mode  only  if  carry  is  set! 

Now,  if  you  examine  the  label  "WTBUR"  at 
$OAIF,  you  will  note  that  the  first  thing  that  occurs 
is  a  test  of  FCBFLG  to  find  out  if  we  are  in  update 
mode  or  not.  If  we  are  updating,  we  don't  burst. 
But  note  that  GET-BYTE  called  the  label 
"RTBUR",  AFTER  the  test,  and  so  would  always 
burst,  whether  in  update  mcjde  or  not.  What  I  tried 
to  do  was  change  the  "JSR  RTBUR"  (at  $0AD4)  to 
a  "JSR  WTBUR"  and  then  use  the  carry  Hag  to 
distinguish  between  the  type  of  request  (I  changed 
the  BMI  at  $0A24  to  a  BCC).  Great!  It  worked!^ 
Except. ..it  worked  ^oo  well.  Unfortunately,  FCBFLG 
is  zero  (and  therefore  plus)  when  we  have  a  file 
open  for  read  only;  so,  therefore,  the  burst  I/O  was 
suppressed  for  a// reads.  Nuts. 

We  try  again,  using  a  slightly  different  ap- 
proach. We  will  still  count  on  the  carry  being  set 
when  called  from  PUT-BYTE  and  reset  when 
called  from  CiET-BYTE.  This  time,  though,  we 
will  examine  the  actual  I/O  mode  in  use.  FMS 
receives  the  I/O  mode  from  CIO  when  the  file  is 
opened  and  places  it  in  FCBOTC.  Recall  that  the 
only  legal  values  are  4,  6,  8.  9,  and  12.  Well,  burst 
I/O  is  only  illegal  in  modes  (3  (read  directory)  and 
12  (update).  But  mode  6  is  handled  separately  (see 
$0AC5-S0ACB),  so  12  is  all  we  are  really  concerned 
with.  Anyway,  without  further  ado,  here's  the 
listing  of  the  FMS  patch: 

*  =  $0A1F 
;  first,  patch  the  code  where  WTBUR  used  to  be 

WTBUR 

BURSTIO 

LDA  FCBOTC,X   ;  Open  Type  Code  by  te 

EOR  #$0C  ;  check  for  mode  12... 

update 
BEQ  NOBURST    ;itISupdate..,don'tburst 

ROR  A  ;  move  carry  to  MSB  of  A 

register 
NOP  ;fdleronly 

TBURST 

;  ...  and  the  STA  BURTYP  remains  ...  but  now  BURTYP  is 


This  Publication 
is  available  in 
Microform. 


University  Microfilms 
International 

Please  send  additional  information 

(or  


Numc^ 


institution- 

Street 

City 

State 


Zip_ 


300  North  Zeeb  Road 
Dept.  P.R. 

Ann  Arbor,  Mi.  48106 


LVTRITJEU: 


W 


^ 


Four  nuclear  reacto;s  have  gone  qui  of 
control,  ready  to  melt  down  in  only 
minutes.  They  are  also  protected  by  pre- 
programmed robots  that  can  destroy 
anything  in  seconds.  Your  mission  is 
to  shut  down  the  reactors  and  capture 
the  robots  belore  a  melt  down  occurs. 
But  before  you  enter .. .  femember  you 
are  the... 

INTRUDER! 

16K  Cassette    29,95  US  funds 

24KDislt        34.95  US  funds 

INHOME 

L:liS:HKt:HtltLtt.li; 


m 

SVT/ 

^ 

w^ 

■\-^-^ 

,«>  .irtP^-3  Jr 

'■''''^ 

BKejdSv^        ^-^^Km 

f'Jr^r 

^ 

T^f, 

Jf^ 

^Oi 

"^r^  . 

You  ate  in  search  o(  the  true  meaning  to 
life,  but  first  yoii  must  battle  each  level 
m  search  of  the  magic  ring  Will  you  sur- 
vive this  horror'  What  lurks  in  these  deep 
and  dark  ,. 

CRYPTS  OF  TERROR 
Joystick -BASIC  required. 

16K  Cassette    29.95  US  funds 

16KDisk     34.95  US  funds 


Space  Invaders!  Asteroids!  fvleieor 
Showers  and  more!  You  have  defended 
them  all.  But  can  you  survive  the  fetish 
attack  of  the., 

ALIEN  SWARM 

100%  Machine  -  Joysticks 

16K  Cassette    29.95  US  funds 

16KDisk     34.95  US  funds 

Nowavailable.-.ALIEN  NUMBER 

An  educational  arcade  game. 

Cassette      S29,95 

Disk    S34.95 

SOFTWARE 


MATH  PACK  +  - 


Atari  brought  the  computer 
age  home.  Now  we  bring 
home  the  educational 
software. 

IvlATH  PACK  was  written  for  (he  educa- 
tional side  of  the  Atari  by  professional 
educators  in  the  field  of  mathematics.  All 
four  independant  math  programs  use 
Atari's  sound  and  graphics  to  make 
learning  more  fun  and  en|oyable  for  your 
whole  family  A  final  summary  at  the  end 
of  the  programs  lets  you  see  how  well 
you've  done  or  what  area  needs  to  be 
practiced.  Age  and  skill  levels. 

1)  Math  Pack  Drill* 
2}  Equations-  " 

3)  Jumble'  "' 

4)  Digit  Span" 

'BASIC  and  '  "Joysticks  required. 

16K- 2  tapes -39, 95  U.S.  funds, 
16K-Disk-42  95U,S,  funds. 


Check  your  local  computer  dealer  or  order  direct  from  us. 
Ordering:  VISA,  MasterCard,  American  Express  and  Cheques 

accepted. 

Please  include  all  numbers  on  cards. 

Include  phone  number  with  all  orders. 

Add  $2.00  for  shipping  and  handling  per  item  ordered. 
Please  specify  which  program  ordering. 

'DEALER  INQUIRIES  WELCOME 


INHOME 
SOFTWARE 

PH.  1-416-961-2760 


1728  Avenue  Rd. 
Toronto,  Ontario 
Canada       M5I\/I3Y6 


172 


COMPUTE) 


July.  1982.  Issue  26 


;      negative  if  BURSTIO  was  called  from  GET-BYTE  and 
;      positive  if  it  was  called  from  PUT-BYTE. 

*  =  $0A41 

;  so  we  must  patch  here  to  account  for  the  sense  of  being 
;  inverted  from  the  original. 

BPL  WRBUR         ;  called  from  PUT-BYTE 

*  =  $0AD4 

;  finally,  we  must  patch  the  GET-BYTE  call  so  that  it  no 
;  longer  JSR's  to  RTBUR. 

JSR  BURSTIO      ;  call  the  common  burst 

routine 

.END 

And  tor  those  ol  you  who  don't  want  to  type 
all  that  in,  yon  miglu  simply  use  BUG  to  do  the 
following  changes: 

C  A20<  82,13,49,0C,r0,24,6A,EA 
C  A41 <  10 
C  AD5<  IF 

And,  last  but  not  least,  from  BASIC  you  may  use 
the  tbilowing: 

POKE  2592,130 
POKE  2593,19 
POKE  2594,73 
POKE  2,^95,12 
POKE  2596,240 
POKE  2597,36 
POKE  2598,106 
POKE  2599,234 
POKE  2625,16 
POKE  2773,13 

Fun  With  FMS,  Canto  Tlie  Second 

Not  long  ago,  an  OSS  customer  told  me  that  he 
couldn't  use  Atari  DOS  to  SAVE  (option  K  on  the 
menu)  the  contents  of  ROM.  "I  low  sncakv,"  cried 
I,  "Best  to  u.se  the  SAVF,  command  under  OS/A  + . 
We  wouldn't  do  anything  that  nasty  to  yon!" 

But  we  did.  And  we  do.  And  it  isn't  because  we 
or  Atari  arc  sneaky  or  nasty;  it  is  yet  another 
phenomenon  of  burst  I/O.  Recall  that  when  the 
binst  I/O  lest  is  passed,  FMS  calls  SIO  to  transfer 
the  sectors  of  data  directly  from  the  user's  buffer 
space.  In  order  to  do  so.  though,  it  must  write  the 
sector  link  infonnalion  (last  tliree  physical  bytes  in 
a  sector)  into  the  correct  spot  in  the  user's  tiuffer 
before  calling  SIO.  Then,  when  SIO  returns,  it 
restores  those  thiee  b)tes  and  tries  to  write  the 
next  sector  the  same  way.  Again,  if  you  have  hiside 
Alari  DOS,  you  can  follow  this  happening  at  ad- 
dresses ${)A52-$0A7A,  in  the  "WRBUR"  code. 

Ah. ..but  what  hapjjens  when  you  try  to  do 
burst  I/O  writes  from  ROM?  FMS  blindly  tries  to 
put  its  goodies  into  those  three  l:tytes  and  call  SIO. 
SIO  does  what  it  is  told,  and  FMS  thinks  lliat  all  is 
OK.  Except  that  all  is  no!  OK!  Those  three  bytes 
did  not  get  changed,  so  what  was  written  to  the  disk 
is  garbage.  And  even  ERAsing  the  file  won't  work. 


because  the  sector  links  are  badly  messed  up. 
Crunchy.  crunchy  goes  the  disk,  under  worst-case 
circumstances. 

Now  this  restriction  is  fairly  easy  to  get  around: 
one  simply  writes  a  program  (in  BASIC  or  machine 
language)  which  writes  the  desired  bytes  to  the  disk 
one  at  a  time,  thus  preventing  burst  I/O.  So  I  don't 
leel  that  I  am  giving  away  deep,  dark  Atari  secrets 
when  I  give  ytni  an  easier  method  to  prevent  burst 
I/O.  .Simply  do  either  of  the  following: 

from  BUG:  C  A2E  <  0 

from  BASIC:         POKE  2606,0 

Again,  for  those  of  you  with  the  FMS  listing, 
note  that  what  we  are  doing  is  changing  the  AND 
#|()2  which  cliecks  for  text  mode  (the  read  anri 
write  text  line  conunands  are  $05  and  $09,  neither 
of  which  have  bit  $02  turned  on)  into  an  AND 
#$00  instruction,  thus  fooling  the  REQ  that  follows 
into  thinking  that  FMS  can't  do  burst  I/O  bccau.se 
it's  doing  text  mode  I/O.  Not  too  terribly  tricky, 
and  it  works  well. 

I  cannot  recommend  that  you  make  this  patch 
a  permanent  part  of  most  system  disks,  since  it 
completely  disables  burst  I/O  and  makes  the  system 
load  and  save  Illes  considerably  sknver.  Change  it, 
use  it,  and  then  forget  it.  @ 


ATAHI  OWIOIRS! 

S0%  OFF  ALL  SOFTWARE 

Adventure  Internationa]  '  Avalon  Hill  * 
Crystalware  '  Automated  Simulations  ' 
Arcade  Plus  '  Gebelli  Software  '  On  Line 
Systems  "  Horizon  Simulations  *  IDSI  ' 
Ajtworx  "  C.E.  Software 

Order  from  us  and  get: 

Free  Newsletter     Evaluations,  Reviews! 

No  Club  To  Join     No  Membership  Pees! 

Free  Catalog! 

Free  Charge  Card  Use! 

Free  Phone  Orders  (we  deduct  the  cost  of  the  call ) 

GOMFiLEtB: 

Hetail  ITour  Cost 

Crush,  Crumble,  and  Stomp         29.95  23.95 

Jawbreaker                                    29.95  23.95 

Mouseattack                                  34.95  27.95 

To  Order  Call: 
C412>  235-8970 

Or  Write: 

MIDKASTEIUJ  SOFTWAHIB 

Box  247  New  Florence,  FA  15944 

Send  money  order,  certified  check,  personal  check  (allow 
two  weeXs  to  clear ).  C.O.D, 

Add  $2.00  shipping  per  order 

PA  residents  add  6%  sales  tax 

Prices  subject  to  change  without  notice. 


. .  YOU  THINK  YOU'RE  A  SPACE  ACE! 

Can  you  blast  through  the  deadly  asteroid  fields? 

Can  you  survive  robot  space  bombs? 

Can  you  handle  invisible  Silurian  space  mines? 

Can  you  dodge  a  rotating  death  vortex? 

Can  you  defeat  the  alien  battle  cruisers? 

GOOD  LUCK  CHARLEY! 

You'll  need  luck  and  skill  to  complete  your  first  mission  at  drive 

level  I.  If,  by  beginner's  luck,  you  progress  to  Patrolmen  at  drive 

level  II,  ttie  fiyper-asteroids  and  Silurian  mines  v/\\\  send  you  back 

to  trie  Academy  for  a  refresher  course  in  "Beginning  Pilot". 

Sfiould  Itie  incredible  fiappen,  and  you  get  your  stiip  to  drive 

level  III,  and  are  able  to  blast  your  way  tfirough  the  asteroids 

and  mines,  the  space  death  bombs  will  get  you— just  like  all 

the  others.  If  you  get  past  the  bombs,  there's  more,  and 

more,  and  more! 

SO  . . .  YOU  THINK  YOU  CAN  HANDLE  IT? 

Try  it,  if  you're  right,  you're  a  . . .  SPACE  ACE! 

A  great  new  and  challenging  space  game  by  Greg  Young 


•  Hires  Graphics 

•  Requires  16K  and  all  of  the 
potential  of  the  AtariTM  400/BOO 

•  Disk/Cassette 

•  Joy  stick 

•  100%  machine  language 
SEND  CHECK  OR  MONEY  ORDER  TO: 

LONDON  SOFTWARE 
374  Wildwood  Avenue 
Piedmont,  CA  94611 

Please  add  St  50  postage  &  handling   Calif   resLdenu  add  addtlional  SI  95  lax 
Alan  'too  800  IS  a  registered  trademark  of  Atari.  Inc 


Multiple  levels  of  play 
Great  Audio 
Time  limit  options 
Bonus  scoring 

$29.95 


Ph.  orders (4 Ii5) 893-1090 
Visa/Mast  ercharge 
Dealer  Inquiries  Invited. 


COMPUTE! 

is  looking  for 

applications 

articles 

on 

Sinclair  ZX-81, 

Texas  Instruments 

TI-99/4A 

and 

Radio  Shook 

Color  Computer, 


"The  Software  Specialists"  offer... 

f  THE  STATE  OF  THE  AKT^ 

IN  COMPUTER  SOFTWARE 


•  NUMBER  STUMPER: 

24K  CAS.  «ig.05     32K  DISK  24.g5 

•  UTILITY  PAK  #1: 

32K  DISK  «2e.8S 

•  UTILITY  PAK  n-. 

32K  DISK  424  flS 
(PRESENTLY  UNDER  DEVELOPMENT! 

•  GAME  PAK  if]-. 

24K  CAS-  914.95     32K  DiSK  «19.85 


AN  ARCADE  GAME  FOR  ONE  OR  TWO  PLAYERS. 
USES  JOVSTICKS, 

DOS  UTILITIES,  AUTORUN.  SYS,  RENUMBER.  VARIABLE  LISTER 
AND  CHANGER,  AUTOMENU. 

DISK-SPEED  ADJUST,  CONVERT  DECIMAL-HEXBINARY  »'S. 
COLOR  &  SOUND  PROGRAMMERS  AID, 
SAVE-A-SCREEN  UTILITY. 

SCOHEFOUR,  DOTS,  FIFTEEN,  PLUS  SURPRISE  GAMEI 
lA  TOTAL  OF  FOUR  GAMESI    USES  JOYSTICKS. 


2i7TI«AaSiaTI 


OFFERS  YOU 


UK 


PROGRAMMING 
•CONSULTATION 


CALL  OR  WRITE  FOR  A  CATALOG  OF  OUR 

PROGRAMS  AND  DETAILED  INFORMATION  ON 

OUR  FREE  OFFERINGS.  SPECIALISTS  IN  SOFTWARE 

FOR  THE  ATARI-     COMPUTER.  GAMES,  UTILITIES 

AND  CUSTOM  PROGRAMMING  AVAILABLE. 

DEALERS  INQUIRIES  INVITED 

28  ORCHID  ROAD 

_LEVITTOWiM,N.Y.  11756 

^(516)796-1212 


SB 


ADD  $2.50  SHIPPING  AND  INSURANCE.  NX  RESIDENTS 
ADD  SALES  TAX.  C.O.D.  OR  BLUE  LABEL  SHIPMENT  ADD'L 


174 


COMPUTE! 


July,  1982.  Issue  26 


After  you've  written  a  FORTH  program,  you  can 

metncompile,  leaving  out  words  which  are  not  a  working 
part  of  thr  application. 


The  FORTH  Page 

Headless 
Metacompilation 

Richord  Mansfield 
Assistant  Editor 

Somehow,  the  prefix  mela  ahvays  sounds  both 
glamorous  and  forbidding.  Attached  to  a  word, 
mi'ta  nsnall)  adds  a  special  meaning  involving 
"over"  or  "beyond"  or  "transformed"  —  it  can  seem 
paradoxical.  A  metatrurk  would  be  a  truck  tliat 
carries  other  trucks.  MetaKOR  TH,  likewise,  means 
using  FORTH  to  compile  itself. 

"FORTH  for  PET."  an  adaptation  of  FORTH 
by  L.  C  C'argiie  and  Michael  Riley,  stippoits  a 
f^ORTH  Metacompiler  (for  Upgrade  or  4.0  BASK: 
with  32K  R.-XM)  which  can  he  ]Durchased  separately 
for  $30.  "FORTH  for  PET"  itself  does  not  require 
the  extra  memory. 

The  goal  of  metacom]>ila(ion  is  to  reduce 
memory  size  or  modif)  FOR  EH  itself  by  retoin- 
piling  the  entire  FORTH  dictionary.  Obviously, 
you  cannot  eliminate  words  like  DUP  and  SWAP. 
They  are  in  the  definitions  of  many  other  words 
and  will  always  be  central  in  any  working  FORTH 
application. 

However,  there  arc  applications  which  will  not 
need  keyboard  entry,  disk  access,  or  other  such 
normal  FORTH  capabilities.  If  you  write  a  game 
which  does  not  in\()l\  e  the  disk,  you  cotild  metacom- 
pile  a  special  FORTH  yvhich  does  not  have  such 
words  as  FLUSH,  LOAD,  etc. 

Clear,  Step-by-step  Instructions 

The  Metacompiler's  instruction  booklet  is  written 
so  clearly  that  a  relative  novice  in  FOR  EH  will  have 
little  difficulty  with  it.  The  process  of  metacompila- 
tion is  essentially  straightforward  and  the  nuunial 
leads  you  through  it,  step-by-step,  explaining  what's 
happening  along  the  way.  You  load  your  ordinary 
FOR'EH  into  the  computer,  load  screen  ten  from 
the  Metacompiler  disk,  and  it  requests  a  target 
address  for  a  new,  temporary  FORTH.  Since  regu- 
lar FORTH  starts  at  hex  $0400,  you  can  respond 
with  $4000  as  the  start  of  the  new  version.  Both 
will  be  resident  in  memoi  y  simultaneously,  but 
after  metacompilation,  control  of  the  computer  is 
passed  to  the  upper  one. 

After  you've  indicated  your  target  address, 


you  can  sit  back  and  watch  the  dictionary  being 
recreated  at  the  new  location.  The  words  are  put 
on  screen  as  they  are  recompiled.  Or  y(ju  can  leave 
and  come  back  about  six  minutes  later  to  find  twtj 
PORTEEs  in  the  computer.  You'll  be  able  to  com- 
municate with  the  upper  version  and  it  will  respond 
normally. 

The  final  step  is  to  compile  back  down,  giving 
$0400  as  the  target  this  time,  and  making  any 
changes  you  want  to  the  Metacompiler's  disk 
screens.  These  changes  will  be  reilected  in  the  new 
FORTH  you  are  creating. 

The  manual  takes  you  carefully  through  an 
entire  editing  process  where  you  create  a  stand- 
alone "Calendar"  program.  This  calendar  applica- 
tion is  truly  a  FORTH  transfigured:  when  run,  it 
u.ses  DUP  and  other  key  words,  of  course,  but  it 
will  not  recognize  them  from  the  keyboard.  It  can 
do  nothing  with  the  disk.  In  fact,  it  understands 
only  the  lew  words  that  relate  lo  the  calendar  func- 
tions to  which  it  is  dedicated.  What's  more,  it's 
headhss. 

Removing  Heads 

In  FORTH,  there  are  four  "fields"  to  an  ordinary 
word:  the  name,  link,  code,  and  parameter  fields. 
The  "head"  of  a  word  is  the  name  and  link  fields, 
taken  together.  If  a  word  in  vour  new  FORTH 
application  wilt  only  be  used  in  further  definitions 
and  will  never  be  independently  executed,  you  can 
type  DROP-MFADS  before  it  on  the  Metacompiler 
disk,  iliai  v\ord  and  any  words  after  it  will  be 
compiled  without  name  or  link  fields  when  the  new 
FOR'EH  is  created.  To  lesume  head  compilation, 
typeC:OMPILE-HEADS. 

An  Excellent  FORTH  Adaptation 

It  is  gratifying  to  find  this  metacompilation  capa- 
bility, a  valuable  and  sophisticated  technique,  avail- 
able on  PEE/OBM  computers.  Ixjually  pleasing  is 
the  excellent  FOR'EH  implementation  by  the  same 
authors,  "FORTH  for  PE  E"  ($50,  16  or  32R,  Up- 
grade or  4.0  B.A.SIC,  with  disk)  to  which  this 
Metacompiler  is  an  optional  addition. 

"FORTH  for  PET"  is  a  fiill  VIC  FORTH 
system  (allowing  all  FOR  EH  79  extensions  as  an 
option),  a  complete  assembler,  several  sample 
programs,  many  utilities,  and  introductorv  and 
reference  manuals.  Perhaps  most  attractive  is  the 
fact  that  the  full,  powerful  Commodore  screen 
editing  system  works  the  same  way  that  it  works  in 
BASIC.  \'ou  move  anywhere  fast  and  modify 
screens  with  great  ease.  Other  versions  of  FORTH 
are  sometimes  enctnnbered  by  awkward  editing 
proceduies. 

"FORTH  for  PET"  and  "Met.acompilerfor 
FORTH"  are  both  available  from  A  B  Computers,  525 
Bethlehem  Pike,  Colmar,  PA,  18915.  @ 


Jutv,  1982.  Issue  26 


COMPUTE) 


175 


Ifyoii\ii'  ever  wanted  to  thoroughly  document,  explore, 
and  understand  your  computer's  BASIC  or  Operating 
Systems  -  the  lech.niques  and  programs  here  are  your 
tools.  Written  for  OSI,  these  ideas  eau  be  modified  for 
ot/ier  rompulers.  Next  montli  this  arlirle  concludes  with 
add ilioiud  programs  and  examples. 

Resource  Part  I: 

Mapping 
Machine 
Language 
Code 


T.  R.  Berger 
Coon  Rapids,  MN 


Have  yoii  e\  ei  tried  to  document  your  machine 
software  by  annotating  disassemblies?  Have  you 
ever  tried  to  move  these  programs  by  reconstructing 
assembler  source  listings  from  disassemblies?  If  so, 
you  know  what  a  huge  investment  of  time  is  needed. 
This  article  covers  a  group  of  BASIC  programs 
which  will  facilitate  regenerating  fully  documented 
assembler  source  listings  starting  from  machine 
language  programs  in  much  less  time  than  the 
painful  direct  route. 

When  I  undertook  to  write  these  programs,  I 
did  not  even  dream  how  powerful  they  would  be.  I 
never  really  anticipated  regenerating  a  source 
listing  of  8K  OSI  Microsoft  Disk  BASIC.  When  I 
realized  that  this  task  could  be  done,  w^hat  was  one 
simple  program  expanded  into  the  four  presented 
here.  A  much  modified  and  improved  version  of 
the  single  program  which  started  this  all  off  is  also 
included  here.  If  OS65D  would  allow  six  buffers  to 
be  open  at  once,  these  programs  could  be  vastly 
speeded  up  and  simplified. 

These  programs  are  written  in  BASIC  for  disk 
based  OSI  computers.  However,  the  programs  are 
carefully  documented  so  that  those  using  other 
6502  machines  with  different  disassemblers  should 
have  no  difficulty  in  copying  the  idea.  The  pro- 
grams accept  as  input  an  ASCII  file  produced  by 
the  OSI  version  of  the  Apple  disassembler  (see  Dr. 
Dobbs Journal,  September,  1976,  p.  22).  The  output 
is  a  collection  of  ASCII  files  which  include  the 


following: 

1.  An  assembly  source  listing  of  code  which 
will  reassemble  at  the  same  location  without 
further  editing. 

2.  Equate  files  necessary  to  run  the  assembly 
source  through  an  assembler. 

3-  Separate  cross  reference  files  for  each  of 
the  following: 

a.  Zpage  addresses, 

b.  Jumps  and  jumps  to  .subroutines, 

c.  Memory  calls,  and 

d.  Branches. 

A  single  pass  program  RESOURCE  S  in  in- 
cluded for  resourcing  small  programs.  On  a  48K 
C8PDF  it  has  no  trouble  handling  OS65D.  Since 
only  symbols  and  cross  references  are  kept  in  me- 
mory, a  S2K  machine  should  also  have  no  trouble. 
Cross  reference  strings  in  RESOURCE  S  are  of 
limited  size  so  that  the  program  will  crash  in 
attempting  to  cover  8K  BASIC.  The  Zpage  cross 
references  to  $AC  overrun  about  halfway  through. 
Since  RESOURCE  S  is  a  compressed  version  of  the 
program  package  presented,  1  will  comment  very 
little  on  it.  When  there  are  a  very  large  number  of 
cross  reference  strings,  the  program  slows  way 
down  due  to  garbage  collection.  In  Microsoft 
BASIC,  garbage  collecfion  times  go  up  approxi- 
mately as  the  square  of  the  number  of  strings  in 
memory  (and  not  their  size). 

Run  Times  Approached  24  Hours 

I  have  written  this  package  so  that  hobbyists  can 
understand  their  most  conunonly  used  language: 
BASIC.  A  source  file  for  8K  BASIC  is  colossal. 
Therefore,  many  shortcuts  are  nece.s.sarv  to  com- 
plete the  resourcing  task.  I  originally  tried  to  en- 
large RESOURCE  S  to  cope  with  the  job.  OS65D 
has  only  two  disk  buffers  requiring  that  a  large 
amount  of  information  be  kept  in  memory  for  a 
single  program.  So  many  strings  were  generated 
and  garbage  collection  time  became  so  great  that 
run  times  approached  24  hours.  Clearly  this  is  not 
the  way  to  go.  I  broke  the  task  into  small  pieces, 
each  being  completed  in  a  reasonable  amount 
of  time. 

On  8"  floppies  the  BASIC  disassembler  source 
($03  A 1  -  $2300)  takes  28  tracks  (84K).  Those  using 
minifloppies  must  tackle  BASIC  in  three  or  more 
passes,  using  the  cross  reference  tables  to  properly 
join  the  final  product. 

The  final  product,  scattered  through  several 
files,  takes  up  about  36  tracks.  There  is  no  hope  of 
assembling  the.se  files  without  a  linking  a.s.sembler. 
(Leroy  Erickson  has  written  such  an  extension  for 
the  OSI  Assembler.)  Ho%vever,  printout  of  the 
source  and  the  cross  reference  tables  greatly  sim- 


176 


COMPUTEI 


July,  1982,  Issue  26 


plifies  the  annotation  and  documentation  process. 
After  one  pass  of  RESOURCE  S  over  OS65D,  it 
was  possible  to  reassemble  OS65D  at  the  same 
location.  After  about  two  hours  of  editing,  a  file 
was  obtained  which  assembles  anywhere. 

Using  my  maps  of  OS65D  and  Jim  Butterfield's 
maps  of  BASIC,  you  should  be  able  to  obtain  fully 
documented  source  listings  of  both  BASIC  and 
OS65D.  1  would  hope  to  see  more  articles  using 
specific  parts  of  OS65D  and  BASIC.  Namely,  what 
are  some  subroutines,  how  do  they  work,  how  does 
one  use  them,  and  how  does  one  resource  them? 

The  entire  program  package  presented  here  is 
written  in  BASIC.  This  sped  implementation  and 
modification  time.  It  also  makes  the  programs 
easier  to  understand.  The  price  paid  is  runtime, 
which  is  considerable  over  8K  BASIC.  Efforts  have 
been  made  to  optimize  runtimes,  especially  on 
inner  loops.  This  adds  steps  to  the  process,  but 
significantly  reduces  program  running  times. 

Of  course,  one  must  edit  the  files  generated  by 
these  programs.  I  use  a  group  of  utilities  which 
constitute  a  useful  BASIC  text  file  editor  and 
proccs.sor.  I  will  describe  these  utilities  in  a  future 
article. 

The  three  most  useful  utilities  are  a  transfer 
program  to  move  large  text  files  around,  a  print 
program  to  output  large  files  to  a  printer,  and  a 
fast  sorter  to  sort  symbol  tables.  A  further  useful 
addition  is  a  large  text  file  single  pass  character- 
oriented  line  editor. 

How  It  Works 

The  first  program  (PASS  1)  takes  the  disassembly 
listing  (which  I  will  call  SOURCE)  and  compresses 
it  into  a  scratch  file  (which  I  call  SCRATCH).  The 
main  working  file  is  SCRATCH.  It  is  about  25% 
smaller  than  SOURCE  and  serves  as  input  to  the 
other  programs.  A  typical  line  of  SOURCE  looks  as 
follows: 

1A3D  BDUBO  LDA  $B011,X. 

In  SCRATCH  this  same  line  would  be: 

1A3D  LDA  HHBOU.X. 

The  code  field  has  been  eliminated  and  $B01 1  has 
been  changed  to  a  six  letter  symbol.  All  four  digit 
operands  fXXXX  are  changed  to  six  letter  symbols 
HHXXXX,  which  is  the  maximum  size  for  symbols 
in  OSI's  Assembler.  Except  for  immediate  oper- 
ands, two  digit  operands  $YY  are  replaced  by  six 
letter  symbols  HHZZYY.  Further,  the  first  H  in 
every  operand  is  always  aligned  as  the  eleventh 
letter  in  a  line.  BASIC  is  much  too  slow  to  search  a 
line  for  a  symbol.  Aligning  symbols  makes  them 
easy  to  find  when  editing.  For  example, 

MID$(IN$,11,6) 
removes  a  symbol  from  a  line  IN$.  The  'H'  in 


position  eleven  distinguishes  a  symbol.  The  'Z'  in 
position  thirteen  distinguishes  a  Zpage  reference. 
A  line  in  SOURCE 

1A40  FF     ??? 

would  appear  in  SCRATCH  as 

1A40  .BYTE  $FF. 

This  step  makes  the  resource  file  assembler  ready. 
Bad  disa.ssembiy  of  opcodes  must  be  fixed  by  editing 
the  final  file  if  a  true  source  die  is  needed.  In  par- 
ticular, tables  and  text  are  not  resourced  correctly, 
only  made  assembler-ready. 

The  first  program  also  builds  a  table  of  two 
byte  operands  (which  I  will  call  SYMBOL).  SYM- 
BOL is  used  in  P.\SS  2  to  generate  labels  and  an 
equate  file  of  two  byte  operands.  Since  SYMBOL  is 
searched  repeatedly  in  PASS  2,  it  must  be  sorted. 
Sorting  SYMBOL  means  a  fast  binary  search  can 
be  used  which  is  many  times  faster  than  a  sequential 
search.  (P'or  BASIC,  this  addition  reduced  line 
process  times  in  P.ASS  2  from  about  5  seconds  per 
line  to  less  than  1  second  per  line.)  Since  BASIC 
requires  800  symbols,  this  search  method  cuts 
hours  off  PASS  2.  Accordingly,  PASS  1  keeps  a 
sorted  symbol  table. 

PASS  2  generates  the  resource  file  (which  1 
call  OBJECT).  It  reads  one  line  of  SCRATCH: 

1A3D  LDA   HHBOll.X. 

It  searches  SYMBOL  for  1 A3D.  If  1 A3D  is  found, 
a  numbered  line 

10000  HH1A3D  LDA  HHBOIl.X 

is  output  to  OBJECT.  Since  I A3D  is  now  defined 
by  a  label,  it  is  marked  as  'u.sed'  in  SYMBOL.  If 
1 A3D  is  not  found,  a  numbered  line 


10000 


LDA  HHBOll.X 


is  output  to  OBJECT.  After  OBJECT  is  complete, 
the  unmarked  symbols  in  SYMBOL  are  operands 
which  are  not  defined  by  labels  in  OBJECT.  Ihus, 
an  equate  file  (which  I  call  EQUATE)  is  written 
using  these  unmarked  terms  i'rom  S\'MBOL.  For 
example,  if  I A3D  is  unmarked,  it  would  be  written 
to  EQUATE  as  a  numbered  line 

5000  HH1A3D  =  $1A3D. 

Except  for  Zpage  labels,  OBJECT  and 
EQUATE  are  ready  for  the  assembler. 

PASS  3  generates  the  various  symbol  tables. 
The  symbols  are  picked  out  of  SCRATCH  along 
with  their  addresses.  A  symbol  HHXXXX  is  stored 
in  a  string  SS$(I)  as  XXXX.  A  check  is  run  to  see  if 
the  symbol  already  appears  in  the  table.  If  it  does 
not,  the  counter  SN  is  incremented  and  the  symbol 
is  added.  This  list  is  stored  as  a  sorted  table. 

Suppose  that  HHXXXX  appears  in  Line  YYYY 
and  that  SS$(I)  =  XXXX.  Then  UYYYY  is  ap- 


July,  1982,  Issue  26 


COMPUTEI 


177 


pended  to  the  right  hand  end  of  SA$(I)  where  U  is 
chosen  to  give  information  about  the  opcode  on 
line  YYYY.  Some  thought  went  into  the  choice  of 
U.  In  the  branch  table,  ilie  middle  letter  of  a  branch 
instruction  comes  closest  to  distinguishing  all 
branches.  Thus  U  is  the  middle  letter  of  the  opcode. 
Again  in  the  JMP  and  JSR  table,  the  middle  letter 
distinguishes  JMP  from  JSR.  Thus  U  is  M  or  S  in 
this  case.  The  first  letter  of  the  opcode  is  chosen 
for  the  memory  table. 

In  decoding  programs,  I  have  found  that  the 


Example  1. 

10000 

.BYTE  $17 

10010 

LDA 

#$16 

10020 

STA 

HHZZC7 

10030 

HH18DD 

JSR 

HH18ED 

10040 

JSR 

HH19D1 

10050 

STA 

HHZZC5 

10060 

STY 

HHZZC6 

10070 

DEC 

HHZZC7 

10080 

BMI 

HH1922 

10090 

BNE 

HH18DD 

10100 

HH18ED 

JSR 

HH19BC 

10110 

LDA 

(HHZZC5,X) 

10120 

TAY 

10130 

LSR 

A 

10140 

BCC 

HH1901 

10150 

LSR 

A 

10160 

BCS 

HH1910 

10170 

CMP 

#$22 

10180 

BEQ 

HH1910 

10190 

AND 

#$07 

10200 

ORA 

#$80 

10210 

HH1901 

LSR 

A 

10220 

TAX 

10230 

LDA 

HH17A5,X 

10240 

BCS 

HH190C 

10250 

LSR 

A 

10260 

LSR 

A 

10270 

LSR 

A 

102B0 

LSR 

A 

10290 

HH190C 

AND 

#$0F 

10300 

BNE 

HH1914 

10310 

HH1910 

LDY 

#$80 

10320 

LDA 

#$00 

10330 

HH1914 

TAX 

10340 

LDA 

HH17E9,X 

10350 

STA 

HHZZCl 

10360 

AND 

#$03 

10370 

STA 

HHZZC2 

10380 

LDA 

HHZZC8 

103  90 

BNE 

HH1923 

10400 

HH1922 

RTS 

10410 

RH1923 

TYA 

10420 

AND 

#S8P 

10430 

TAX 

10440 

TYA 

10450 

LDY 

#?03 

10460 

CPX 

#5  8A 

10470 

BEQ 

HH1939 

104  80 

LSR 

A 

10490 

BCC 

HH1939 

10500 

LSR 

A 

10510 

LSR 

A 

most  important  fact  to  know  about  Zpage  opcodes 
is  their  addressing  mode.  That  is,  is  an  opcode 
indexed  or  not?  Thus,  U  is  the  extreme  right  hand 
symbol  of  the  disassembly  line.  This  includes  ),  X, 
and  Y.  It  is  not  possible  from  this  to  tell  whether 
the  Y  means  indexed  or  indirect  indexed.  However, 
given  the  simplicity  of  this  approach,  it  is  adequate. 

If  SA$(I)  becomes  loo  long,  it  is  written  to  a 
cross  reference  file  and  SA$(I)  is  emptied.  (In 
RESOURCE  S  this  step  is  not  performed,  the 
program  bombs  when  SA|(I)  becomes  too  long.) 
These  "long  strings"  will  appear  out  of  order  in  the 
file.  (The  first  few  cross  references  may  be  out  of 
order.}  The  symbol  table  can  be  resorted  by  most 
any  sorting  program.  As  it  stands,  the  table  is 
"almost  in  order." 

PASS  4  generates  the  Zpage  equate  file  which 
I  call  ZEQUATE.  This  is  done  using  the  Zpage 
cross  reference  file  generated  in  PASS  3,  The  file 
resembles  the  EQUATE  file. 

In  resourcing  a  large  program,  there  will  not 
be  enough  room  on  one  disk  for  all  the  files  gener- 
ated. SCRATCH,  and  various  other  files  may  be 
moved  using  a  transfer  utility.  Symbol  and  cross 
reference  files  may  be  sorted  using  a  sort  utility. 
Final  files  may  be  printed  using  an  output  utility. 

Example  1  shows  the  OBJECT  file  (resourced 
assembly  language)  for  the  beginning  of  the  disas- 
sembler in  the  Extended  Monitor.  Example  2  gives 
the  two  equate  files.  Example  S  gives  the  output 
from  the  Assembler  using  these  three  files.  Example 
4  gives  the  four  cross  reference  tables.  The  first 
address  in  each  row  is  the  symbol.  The  other  ad- 
dresses following  are  the  cross  references,  with 
some  indication  as  to  opcode. 

How  To  Use  It 

STEP  1)   Creating  a  SOURCE  file. 

If  you  plan  lo  resource  BASIC,  you  must 
move  the  Extended  Monitor  since  it  overlays  part 
of  BASIC.  In  another  article,  I  will  give  explicit 
instructions  on  how  to  do  this.  I  find  it  handy  to 
have  the  Extended  Monitor  available  while  BASIC 
is  resident. 

After  trying  several  methods,  I've  decided  that 
the  following  is  the  easiest  way  to  generate  a 
SOURCE  file.  It  uses  the  disk  output  capability  of 
OS65D.  The  code  you  are  re.sourcing  should  not 
overlay  the  disk  buffer  used.  (Video  with  polled 
keyboard  is  assumed;  otherwise,  recheck  the  I/O 
flags.) 

a)  Initialize  a  fresh  disk, 

b)  Copy  the  directory  Track  D  onto  this  disk 
using  OS65D's  copy  utility  (D  is  Track  8  on  8" 
floppies). 

c)  Create  files  for  all  empty  tracks  except 
Tracks  0  and  D.  Delete  all  directory  entries  on 


175 


COMPUTE! 


Julv.  1982.  Issue  26 


tlie  new  disk. 

d)  Load  the  machine  language  program  to  be 
resourced. 

e)  Load  and  run  the  Extended  Monitor. 

We  must  now  set  all  the  various  pointers  for  a 
disk  buffer.  To  resource  B.'^SIC  you  need  a  very 
large  file.  Let  the  first  available  track  be  N  where 
the  directory  is  on  Track  N-B  (N  =  9  on  8"  floppies). 

f)  Choose  a  first  track  number  N  for  your 
SOURCE  file.  Let  M  be  the  last  track  number 
on  the  disk  (M  =  76  on  8"  floppies).  Do  not 
clioose  N  so  liial  either  N  =  0  or  the  directory 
track  is  included  in  the  range  of  N  to  M. 

g)  Using  the  "at"  (@)  sign  command,  set  the 
following  buffer  values.  (These  are  valid  for 
OS65D  V3.2,  i.e.  8"  fioppies.  The  correct 
values  for  minifloppies  are  given  in  the  OS65D 
User's  Guide.) 

m      VALUE 

BUFFER  START  ADDRESS 

BUFFER  END  ADDRESS 

FIRST  TRACK  OF  FILE 
LAST  TRACK  OF  FILE 
CURRENT  BUFFER  TRACK 
DIRTY  BUFFER  FLAG 
ADDRESS  DISK  OUTPUT 
(CURRENTBUFIERADDR.) 

h)  Mount  the  fresh  disk. 

I)   From  EM  type  (i.e.  turn  on  disk  output) 

!10  ,22  <retum>. 

The  next  few  steps  write  directly  to  the  disk 
without  error  correction.  If  you  make  an  error,  per- 
form step  I)  and  restart  at  step  g.  Presumablv  vou 
know  the  start  ($XXXX)  annd  the  finish  (SYYYY) 
addresses  of  the  code  to  be  resourced.  For  BASIC 
these  are  $XXXX  =  $()3A1  and  $YYYY  =  $2300. 
For  OS65D  these  are  $XXXX  =  $2336  and  $YYYY 
=  $2E  1 E.  For  the  ROMs  these  are  $XXXX  =  $FDOO 
and$YYYY  =  $FFFA. 

j)  Commence  disassembly  with 

QXXXX<  return  >. 

k)  Put  your  finger  on  LINEFEED.  Hold  it 
there  until  $YYYY  has  been  disassembled. 
Then  hit  RETURN. 

All  but  the  last  track  of  the  SOURCE  file  is  on 
the  disk.  The  last  track  is  still  in  the  buffer.  This  last 
part  is  also  missing  an  "end  of  file"  marking.  The 
next  few  steps  turn  off  the  disk  output  long  enough 
to  make  corrections,  then  turn  it  back  on  to  write  the 
final  track  to  the  disk. 

The  next  step  turns  off  disk  output  by  creating 
a  syntax  error,  and  puts  a  mark  to  help  find  the  end 


ADDRESS  ($) 

ADDRESS  tDI 

VA 

2326 

8998 

7E 

2327 

8999 

31 

2328 

9000 

7E 

2329 

9001 

3D 

232A 

9002 

N 

232B 

9003 

M 

2320 

9004 

N 

232D 

9005 

0 

23C3 

9155 

7E 

23C4 

9156 

31 

of  the  SOURCE  file. 
I)   Type 

!XIT  <  return  >. 

m)  Search  for  the  end  of  the  file 
W!XIT>317E,3D7F. 

If  all  has  gone  well,  you  will  receive  a  message 
(*)  VVVV/21 

where  WW  is  the  address  of  !  in  the  expression 
!XIT.  If  you  do  not  receive  such  a  message,  it  is  pos- 
sible (but  unlikely)  that  a  "disk  write"  occurred  in  the 
middle  of  the  word  IXIT.  Co  back  to  step  g)  and 
Stan  again.  When  you  reach  step  k),  hit  RETURN 
five  times  instead  of  just  once,  then  proceed.  If  you 
do  not  receive  the  message  (*),  sometliing  is  definitely 
wrong  somewhere.  Start  a  careful  search  (Beware: 
some  values  given  only  work  for  8"  floppies). 

n)   Using  quotes  and  "at"  check  the  following 

VVVV/21     "! 
WW +1/58  "X 
WW +  2/49  "I 
WW +  3/54  "T 

o)   Make  the  following  change. 

VVVV/21  OD 

Now  the  "end  of  file"  marker  is  properly  in- 
stalled. Next  we  write  the  buffer  to  the  disk. 

p)   Make  the  following  pointer  change. 

23C3/YY  7E 
23C4/WW  3D 

q)  Write  down  the  value  TK 

232C/TK 
r)   'Fype 

!IO  ,22  < Return* 

The  entire  SOURCE  file  is  on  the  disk.  It 
starts  on  Track  N  and  ends  on  Track  IK.  We  must 
now  create  a  directory  entry  for  this  file. 

s)   Load  BASIC  and  CREATE,  but  do  not  run 
CREATE.  (You  may  need  a  different  disk  to 
do  this.) 

t)  Delete  line  20290  (which  would  erase  all  the 
work  you  have  done).  It  reads: 

20290  DISK!"IN  "  +  T$:DISK!"SA  "  +  T$  +  ",1  = 

317/" +  P$ 

u)   Run  CREATE  and  name  the  SOURCE  file 

on  your  new  disk. 
STEP  2)  Create  a  SCRATCH  and  SYMBOL  file 
entry. 

These  files  must  be  on  the  same  disk  as 
SOURCE.  Be  sure  to  reload  CREATE  so  that  line 
20290  is  not  missing.  SCRATCH  can  be  about  25% 
smaller  than  SOURCE.  SYMBOL  can  be  1-2  tracks. 
On  8"  floppies,  8K  BASIC  needs  two  tracks  for 


July,  1982,  Issue  26 


COMPUTEI 


179 


SYMBOL  (4K  file  size). You  may  put  these  files 
anywhere  as  long  as  they  do  not  overlap  the 
directory  track.  Track  0,  or  the  tracks  used  by 
SOURCE. 

STEP  3)  PASS  I. 

Run  the  first  resource  program.  Prompting 
will  tell  you  what  to  do.  The  new  disk  must  be  in 
the  drive  throughout  the  run.  The  screen  will 
display  the  current  status.  On  large  programs,  be 
prepared  for  several-minute  waits  for  garbage 
collection.  A  five  minute  wait  between  screen  data 
lines  probably  means  there  has  been  a  system  crash. 
This  program  will  not  work  with  ROM  BASIC 
since  the  garbage  collector  is  defunct.  (See 
PEEK(65},  March  1980,  p.  3  for  a  fix.) 

The  SOURCE,  SYMBOL,  and  SCRATCH  file 
may  fill  a  disk,  so  you  may  have  to  move  some  files 
to  other  disks.  SOURCE  is  no  longer  needed,  but 
should  be  saved  in  case  of  trouble.  Symbol  is  needed 
for  PASS  two  and  SCRATCH  is  needed  for  PASSes 
two  and  three.  Using  a  transfer  udlity  vou  may 
move  SCRATCH  and  SYMBOL  to  a  new  disk. 
STEP  4)  PASS  2. 

The  second  resource  program  generates  an 
EQUATE  file  and  the  resourced  assembly  listing 
OBJECT.  Create  such  files  on  a  disk  containing 
SCRATCH  and  SYMBOL.  EQUATE  need  not  be 
large,  usually  much  less  than  a  track.  OBJECT 
should  be  slightly  larger  than  SOURCE. 

The  next  step  creates  all  the  cross  reference 
tables.  Each  table  needs  its  own  file.  SCRATCH  is 
the  input  file.  The  branch  table  will  probably  be 
the  largest  file. 

STEP  5)  PASS  3. 

Repeat  this  step  until  all  cross  reference  tables 
are  complete.  Only  Zpage  cross  references  are 
essential.  However,  I  find  the  Zpage  and  JSR  tables 
the  most  useful.  You  may  wish  to  sort  these  tables, 
even  though  they  are  "almost  sorted." 

STEP  6)  PASS  4. 

Create  the  Zpage  equate  file:   ZEQUATE. 
Input  to  this  program  is  the  Zpage  cross  reference 
file.  This  step  is  the  final  one  which  creates  the  list 
of  Assembler  Zpage  equates. 

Any  of  the  files  generated  may  be  dumped  to 
a  printer  using  a  printer  utility.  The  process  is 
much  simpler  than  it  sounds.  The  single  pass  re- 
source program  eliminates  most  steps  if  only  small 
programs  are  being  resourced. 

Moving  ASCII  Text  Files  To  The  Assembler 

For  small  programs,  the  resource  can  actually  be 
assembled  by  the  OSI  Assembler.  The  three  files 
(OBJECT,  EQUATE,  and  ZEQUATE)  must  be 
merged  and  the  program  counter  location  given 
(10*  =  $XXXX). 


The  resourced  files  are  ASCII  text  files  with 
an  end  of  file  (EOF)  marker: 

XIT  <  return  >. 

Since  OSI's  Assembler  does  not  keep  an  ASCII 
file,  more  is  needed.  We  must  transfer  the  disk  text 
files  into  the  Assembler/Editor.  In  OS65D  it  is  easy 
to  reset  output  fiags  with: 

lO  ,02. 

However,  only  one  input  is  recognized  and,  if  this 
is  not  the  keyboard,  then  keyboard  input  is  dead. 
During  disk  input,  the  keyboard  is  disabled.  In 
particular,  OS65D  has  no  way  of  recognizing  the 
end  of  a  file  except  by  an  operating  system  error. 
This  is  a  definite  deficiency  in  OS65D.  When  an 
operating  system  error  does  occur,  theTO  flags  are 
properly  reset  to  default  values. 

If  a  file  is  on  Tracks  2  and  3,  inputing  these 
tracks  will  result  in  a  system  error  as  soon  as  Track 
3  is  finished.  The  trouble  is  that  the  actual  file  may 
end  halfway  through  Track  3.  The  rest  of  Track  3 
may  contain  absolutely  destructive  information, 
such  as  Assembler  commands  or  operating  system 
commands.  My  favorite  is  the  following.  The  ASCII 
character  "left  bracket"  occurs  as  input  opening 
the  Indirect  File.  This  file  fills  up  memory,  wiping 
out  everything  in  the  way.  It  eventually  reaches  the 
disk  addresses.  You  hear  a  thunk  and  the  disk  goes 
dead.  If  input  continues,  it  next  reaches  the  screen 
memory  filling  the  screen  with  jazzy  characters.  It 
goes  on  to  the  color  memory,  tone  generator,  etc. 
You've  probably  had  this  occur  and  wondered 
what  happened.  It's  just  the  Indirect  File,  filing  all 
the  garbage  away. 

One  solution  is  to  remove  the  destructive 
information  on  the  track.  Another  simpler  one  is 
to  create  an  operating  system  error  at  the  end  of 
the  file,  in  this  case,  midway  through  Track  3. 
Input  errors  to  the  OSI  Assembler  do  not  cause 
the  lO  flags  to  be  reset.  We  must  be  more  subtle 
than  just  having  an  input  error.  If  E<return>  is 
sent  to  the  Assembler,  it  exits  to  the  operating 
system.  In  the  operating  system  command  mode, 
any  line  which  is  not  a  legal  command  creates  a 
syntax  error.  For  example,  another  E<return>,  will 
do  the  job.  The  following  changes  to  PASS  two  and 
PASS  four  will  prepare  files  for  entry  into  the 
Assembler.  Add  the  following  lines: 

PASS  Two 

642  PRINT  #7,"E" 
644  PRINT  #7,"E" 

842  PRINT  #7,"E" 
844  PRINT  #7,"E" 

PASS  4 

472  PRINT  #7,"E" 

474  PRINT  #7,"E" 

There  is  yet  another  problem.  In  their  normal 


180 


COMPUTE] 


July,  1982,  Issue  26 


positions,  the  disk  buffers  occupy  the  same  space 
as  program  memory.  This  problem  can  be  solved 
by  moving  the  buffers.  U.se  the  following  steps  to 
load  first  the  file  ZEQUATE,  .second  EQUATE, 
and  third  OBJECT  into  the  Assembler. 

a)  Load  and  run  the  Extended  Monitor. 

b)  Suppose  the  file  we  wish  to  load  starts  on 
Track  N  and  ends  on  Track  M.  Perform  STEP 
1)  g)  from  "HOW  TO  USE  IT."  Be  sure  to  use 
the  values  given  below  (or  larger  values  where 
vou  have  RAM). 


ADDRESS  (S) 

ADDRESS  (D) 

VALUE 

2326 

8998 

00 

2327 

8999 

50 

2328 

9000 

00 

2329 

9001 

5C 

232A 

9002 

N 

232B 

9003 

M 

232C 

9004 

N-1 

232D 

9005 

FF 

23AC 

9132 

00 

23AD 

9133 

5C 

ADDRESS  MEMORY 
BUFFERED  INPUT 

Note  that  232C,  232D,  23AC,  and  23AD  have 
strange  values.  These  values  track  the  disk  into 
loading  the  first  track  of  your  (ile  into  memory. 
Otherwise  you  would  have  to  do  that  job  separately. 

c)  If  you  have  already  loaded  the  first  file,  skip 
this  step.  Initialize  the  Assembler. 

d)  Re-enter  the  Assembler. 

e)  Get  input  by 
!IO20  <return>. 

f)  Repeat  a)  -  e)  until  all  files  are  loaded. 

Your  files  are  now  merged  in  the  Assembler.  Be 
sure  to  inspect  them  carefully  before  assembling. 

Remarks,  Refinements,  Additions 

Resource  will  execute  on  8K  BASIC  in  a  reasonable 
amount  of  time.  The  longest  pass  (PASS  One)  will 
run  slightly  less  than  an  hour  on  a  1  MHZ  machine. 

This  package  of  programs  is.  in  a  sense,  incom- 
plete. Using  the  cross  reference  tables,  one  could 
give  mnemonic  names  to  all  of  the  various  labels  and 
equates.  These  could  be  entered  into  a  file.  Then 
one  extra  pass  over  OBJECT  could  exchange 
address  labels  with  mnemonic  labels. 

A  big  file  line  editor  utility  could  be  added  to 
edit  any  one  of  the  files  created.  If  tables  are  known 
at  disassembly  time,  they  can  be  edited  into 
SCRATCH.  Incorrecllv  disassembled  code  could  be 
corrected.  These  steps  could  be  performed  also  on 
SCRATCH  or  OBJECT. 

If  table  locations  are  known  in  advance,  disas- 
sembly can  be  cleaned  up  considerably  by  replacing 
all  table  bytes  with  $FF  (or  anv  other  value  not  equal 
to  a  6502  opcode).  Then,  all  tables  will  appear  in  the 
resource  as  a  sequence  of  lines:  10000  .BYTE$FF. 


Using  an  editor,  it  then  would  be  a  simple  task  to 
replace  each  $FF  by  its  correct  value.  I  used  this 
procedure  on  BASIC. 

OS65D  cannot  be  changed  in  this  way  since  it 
will  crash.  But  there  is  a  simple  solution.  Move 
OS65D  from  addresses  2XXX  to  addresses,  say 
5XXX.  When  SCRATCH  and  SYMBOL  are  com- 
plete, go  through  them,  changing  the  leading  5's 
back  to  2's.  A  program  to  do  this  is  simple  to  write. 
SYMBOL  must  be  resorted  and  repetitions  deleted. 
This  way,  I  was  able  to  use  the  trick  with  $FF  in 
tables  to  obtain  an  accurate  resource  of  the  code  in 
OS65D. 

A  simple,  but  useful,  utility  would  be  a  com- 
menter.  Such  a  utility  would  allow  the  user  to  add 
comments  to  the  end  of  each  line  of  the  resourced 
file  or  to  insert  lines  into  the  file.  I  have  used  this 
technique  to  produce  the  various  listings  in  this 
article.  I  hope  to  present  a  future  article  on  this 
editor. 

Even  though  I  am  careful  to  fully  document 
the  machine  software  1  write,  1  still  find  it  useful  to 
run  the  resource  program  over  my  machine  pro- 
grams. The  cross  reference  files  often  reveal  infe- 
licities and  logical  inaccuracies. 

I  am  still  improving  these  programs.  If  you 
think  of  a  nice  enhancement,  I'd  be  glad  to  hear 
about  it. 


Example  2. 

1000 
1010 

; EQUATE  FILE 

1020 

;ZPAGE 

1030 

/ 

1040 

HHZZCl  =  $C1 

1050 

HHZZC2  =  $C2 

1060 

HHZZC5  =  SCS 

1070 

HHZZC6  =  $C6 

1080 

HHZZC7  =  $C7 

1090 

HHZZC8  =  $C8 

1100 

* 
> 

1110 

• 

1120 

;TWO  BYTE 

1130 

t 

1140 

HH17A5  =  S17A5 

1150 

HH17E9  =  $17E9 

1160 

HH1939  =  51939 

1170 

HH19BC  =  519BC 

1180 

HH19D1  =  S19D1 

Example  3. 

10  18D8 

*  =  S18D8 

1000 

; EQUATE  FILE 

1010 

; 

1020 

fZPAGE 

1030 

* 
t 

1040  00C1= 

HHZZCl  =  5C1 

1050  00C2= 

HHZZC2  =  SC2 

1060  O0C5= 

HHZZC5  =  $C5 

1070  00C6= 

HHZZC6  =  $C6 

1080  00C7= 

HHZZC7  =  5C7 

1090  00C8= 

BHZZC8  =  5C8 

July,  1982,  Issue  26 


COMPUTE! 


181 


1100 

1110 

1120 

1130 

1140 

1150 

1160 

1170 

1180 

10000 

10010 

10020 

10030 

10040 

10050 

10060 

10070 

10080 

10090 

10100 

10110 

10120 

10130 

10140 

10150 

10160 

10170 

10180 

10190 

10200 

10210 

10220 

10230 

10240 

10250 


iTl-lO   BYTE 


17A5  = 
17E9= 
1939= 
19BC= 
19D1  = 
18D8 
18D9 
18DB 
18DD 
18E0 
18E3 
18E5 
18E7 
18E9 
18EB 
IQED 
18F0 
1BF2 
1BF3 
18F4 
18F6 
18F7 
18F9 
18FB 
18FD 
18FF 
1901 
1902 
1903 
1906 
1908 


10260 
10270 
10280 
10290 
10300 
10310 
10320 
10330 
10340 
10350 
10360 
10370 
10380 
10390 
10400 
10410 
10420 
10430 
10440 
10450 
10460 
10470 
10480 
10490 
10500 
10510 


1909 
190A 
190B 
190C 
190E 
1910 
1912 
1914 
1915 
1918 
191A 
191C 
191E 
1920 
1922 
1923 
1924 
1926 
1927 
1928 
192A 
192C 
192E 
192F 
1931 
1932 


17 

A916 

85C7 

20ED18 

20D119 

85C5 

C4C6 

C6C7 

3037 

DOFO 

20BC19 

A1C5 

A8 

4A 

90  OB 

4A 

B017 

C922 

P013 

2907 

0980 

4A 

AA 

BDA517 

B004 

4A 

4A 

4  A 

4A 

290F 

DO  0-1 

A080 

A900 

AA 

BDE917 

B5C1 

2903 

85C2 

A5C0 

DOOl 

60 

98 

298F 

AA 

98 

A003 

E08A 

FOOB 

4A 

9008 

4A 

4A 


Kni7A5 
nill7E9 
Hill  93  9 
HH19BC 
HH19D1 


HH18DD 


=  $17A5 

=  $17E9 

=  51939 

=  519BC 

=  S19D1 

.BYTE  517 

LDA  #516 

STA   HHZZC7 

JSR   HHlfiED 

JSR   HH19D1 

STA   HHZZC5 

STY   HHZZCe 

DEC   HHZZC7 

BMI   HH1922 

BNE   HH18DD 
HH18ED  JSR   HH19BC 

LDA  (HHZZC5,X) 

TAY 

LSR  A 

BCC   HH1901 

LSR  A 

ECS   HH1910 

CUP  #522 

BEO   HH1910 

AMD  #5  07 

ORA  #5  80 
HH1901  LSR  A 

TAX 

LDA   HH17A5,X 

BCS   HH190C 

LSR  A 

LSR  A 

LSR  A 

LSR  A 
HH190C  AMD  #SOF 

BME   HH1914 
HH1910  LDY  #580 

LDA  #500 
HR1914  TAX 

LDA   HH17E9,X 

STA   HHZZCl 

AMD  #503 

STA   HHZZC2 

LDA   RHZZC8 

BNE   HH1923 
HH1922  RTS 
HH1923  TYA 

AND  #$8F 

TAX 

TYA 

LDY  #503 

CPX  #5  8A 

BEQ   KFa939 

LSR  A 

BCC   HH193  9 

LSR  A 

LSR  A 


Example  4. 

.   CROSS  REFERENCES 
.   Z  PAGE 


CI 
C2 

C5 
C6 
C7 
C8 


1918 
191C 
18E3 
18E5 
18DB 
191E 


)18F0 


18E7 


.   JMP  &  JSR 

18ED  S18DD 
19BC  S18ED 
19D1   S18E0 


.   MEMORY 

17A5      H903 
17E9      L1915 


BRANCH 


18DD 
1901 
190C 
1910 
1914 
1922 
1923 
1939 


M18EB 
C18F4 
C1906 
C18F7 
N190E 

ra8E9 

M1920 
E192C 


E18FB 


C1S2F 


PASS  1 

RESOURCE  1  **  BUILD  SCRATCH  AND 
SYMBOL  FILES  ** 

TVJO  BUFFERS  ARE  REQUIRED 


100  REM  ***  RESOURCE  1  *** 
110  REM  T.R.  BERGER  11/80 
120  PRINT 

130  PRINT"RESOURCE  **  STEP  1  -  BUILD 
SCRATCH  AND  SYMBOL  FILES" 

140  PRINT 

.   **  REMOVE  COMMA  AND  SEMICOLON  ** 
150  POKE  2972,13:POKE2976,13 

* 

160  INPUT"SOURCE  FILENAME" ; SFS 

170  INPUT"SCRATCH  FILE  NAME";JF5 

180  INPUT"SYMBOL  FILE  NAME", -SMS 

190  PRINT: INPUT"NUMBER  OF  SYMBOLS", -NS 

.   **  DIMENSION  SYMBOL  AND  POINTER  ARRAYS 
** 

200  DIM  SS5(NS) ,  V(NS) 
**  MAIN  PROGRAM  ** 


162 


COMPUTEI 


July.  1982.  Issue  26 


210  DISK  0PEN,6,SF? 
220  DISK  OPEN,7,JF5 

.   **  LOOP  BACK  HERE  ** 
230  INPUT  #6,IN$ 

240  IF  IN?="XIT"  THEN590 
250  IF  LEN(IN?)<15  THEM230 


**  ADJUST  SOURCE,  PICK  UP  SYMBOLS  ** 

A1$=XXXX   ADDRESS 

A2?=0PC0DE  + 

A3  5=OPERAND  (SYMBOL) 

A4?=ADDR  MODE 

OU$=A15+A25+A35+A4? 

IN?=INPUT  FROM  OSI  DISASSEMBLER 


60  A3$="":  A4$="" 

**  GET  ADDRESS  ** 
270  A15=LEFT5(IN$,4) 

**  DO  ERRORS  ** 
280  IFHID?<IN?,13,1)="?"THENA25="  .BYTE  ?" 
+MID$(IN$,6,2) :GOTO550 

**  DO  REFORMATTTING  ** 

**  ELIMINATE  END  SPACES  ** 
290  IN5=HID$(rMS,12) :  L=LEN(IN9) 
300  IF  MIDS(INS,L,1)="  "  THEN  L=L-1 :  GOTO 

300 
310  IN?=LEFT5(IN?,L) 

.   **  DO  IMPLIED  AND  ACCUMULATOR  ADDRESSI 

NG  ** 
320  IF  L<7  THEN  A25=IN$:  GOTO550 

« 

.   **  DO  IMMEDIATE  ADDRESSING  ** 
330  IF  MID${IN5, 6, !)="#"  THEN  A25=IN?: 
GOTO550 

.   **  ADJUST  OPERAND  POSITION  ** 

340  IFHID? (IN5,6,1)="?"THENK=7:A2S=LEFT?( 

IN?, 5)+"  HH":GOTO360 
350  K=8:  A2 S=LEFT$ ( IN? ,6) +"HH" 

.   **  Z  PAGE  CHECK  ** 
360  M=K+2 

.   **  DO  Z  PAGE  OPERANDS  ** 

370  IF  M>L  THEN  A35=RIGHT? (IN? , 2) :  A2?=A2S 
+"ZZ":  GOTO550 

**  Z  PAGE,  STRIP  ADDRESS  MODE  ** 
3  80  IF  MID?(IN?,H,1)> V"  THEN4  00 
390  A3$=MID$CIN?,K,2) :  A2?=A2 5+"ZZ " :  A4$= 
MID? (IN?, H) :  GOTO550 

!   **  TWO  BYTE  OPERAND  CHECK  ** 
400  M=K+4 

.   **  DO  TWO  BYTE  OPERANDS  ** 

410  IF  M>L  THEN  A3S=RIGHTS (IN? ,4) :  GOTO430 


**  TVJO  BYTE,  STRIP  ADDRESS  MODE  ** 
420  A3?=MID?(IM5,K,4) :  A4 S=HID$ ( INS ,M) 

**  PUT  SYMBOLS  IN  TABLE  ** 

**  SEARCH  TABLE  FOR  SYMBOL  ** 

**  THIS  IS  A  BINARY  SEARCH  ** 
430  L=0:R=SN 

**  SYMBOL  NOT  FOUND,  INSERT  IT  ** 
440  IF  L>R  THEN490 
450  H=INT( (L+R)/2) 


**  SYMBOL  IN  TABLE  SO  QUIT  ** 
460  IF  A3$=SSS (V(M) >  THEN550 
470  IF  A3S>SSS(V(H) )  THEN  L=M+1 :  GOTO440 
480  R=M-1:  GOTO440 

**  ADD  SYMBOL  ** 
4  90  SN=SN+1:  SSS(SN)=A3? 

**  POINT  TO  ITS  PROPER  POSITION  IN  ORDE 
RING  ** 
500  IF  L=SN  THEN540 
510  FOR  I=SN-1  TO  L  STEP  -1 
520  V(I+1)=V(I) 
53  0  NEXT  I 
540  V(L)=SN 

.   **  GENERATE  LINE  FOR  SCRATCH  FILE  ** 

550  OU$=A15+A2S+A35+A4? 

560  PRINT  tt7,0U? 

570  PRINT  OUS 

580  GOTO230 

.   **  LOOP  BACK  NOW  ** 

.   **  CLOSE  SCRATCH  AND  SOURCE  FILES  ** 
590  PRINT  #7, IN? 
600  DISK  CLOSE, 6 
610  DISK  CLOSE, 7 

**  END  OF  MAIN  PROGRAM  ** 


**  WRITE  SYMBOL  FILE  ** 

620  DISK  OPEN,7,SH5 

,   **  WRITE  SYMBOLS  IN  ORDER  ** 

630  FOR  1=0  TO  SN 

640  PRINT  #7,SS?(V(I) ) 

650  PRINT  SSS(V(I) ) 

660  NEXT  I 

670  PRINT  i7,"XIT" 

680  DISK  CLOSE, 7 

**  OUTPUT  DATA  ** 
690  PRINT:PRINT 

700  PRINT  TAB (9)  SN"  SYMBOLS  USED" 
710  PRINT  TAB (10)  "SCRATCH  FILE:   "JF? 
720  PRINT  TAB (10)  "SYMBOL  FILE:    "SM? 
730  PRINT:PRINT  TAB(IO)  "PASS  1  COMPLETE" 

740  PRINT:PRINT:END 


July.  1982.  Issue  26 


COMPUTEI 


183 


Review: 


Caverns  Of 
Mars 


Charles  Brannon 
Editorial  Assistant 


Caverns  of  Mars  is  a  new  action-packed  game  from 
Atari,  Inc.  Originally  sold  through  the  Atari  Pro- 
gram Exchange  (APX),  Caverns  of  Mars  is  now 
available  through  dealers. 

The  object  of  the  game  is  to  maneuver  your 
spacecraft  into  the  depths  of  the  planet  Mars.  As 
you  penetrate  the  five  layers  of  defenses  you  can 
blow  up  fuel  silos  (to  provide  additional  fuel  for 
your  ship),  Martian  missiles,  and  "spy  stations"  that 
supposedly  warn  the  Martian  headquarters  of  your 
approach. 

Your  first  challenge  is  to  weave  your  way 
through  the  twisting  subterranean  (submartian?) 
tunnels.  The  screen  continuouslv  scrolls  upward, 
so  you  move  left  and  right  mostly,  althougli  your 
craft  can  also  move  vertically.  When  you  press  the 
fire  button  on  the  joystick,  your  craft  shoots  twin 
photon  torpedoes  that  detonate  any  target  they 
contact. 

After  surviving  these  levels,  you  face  an  armada 
of  Martian  spacecraft.  They  don't  fire  at  you;  ihey 
just  try  to  overwhelm  you  with  sheer  numbers, 
forcing  you  to  dodge  them  and  fire  finiously  to 
avoid  a  fatal  collision.  If  vou  can  make  it  past  this 
defense,  you  slowly  descend  into  the  very  center  of 
the  Martian  stronghold,  where  vou'l!  find  a  giant, 
glowing,  egg-shaped  bomb.  By  landing  on  it,  you 
"arm"  it,  and  the  timer  starts  ticking  at  30  seconds, 
29,  28,  27...  The  destruction  of  the  base  is  inevitable, 
but  wwr  survival  is  at  stake  too.  If  you  don't  escape 
from  the  Martian  base  before  the  time  is  up,  you 
are  ruined  in  a  brilliant  orange  explosion.  Assuming 
that  you  make  it  out  (not  very  likely  in  your  first 
games),  you  watch  the  explosion  lighting  up  the 
mouth  of  the  cavern,  and  you  can  then  valiantly 
enter...  cavern  two. 

Each  new  cavern  is  progressively  harder  — 
most  noticeably  when  making  your  escape  -  you 
ascend  twice  as  fast,  making  a  collision  with  the 
"ceiling"  rather  likely.  I've  played  the  game  for  a 
week,  and  I  still  can't  escape  Cavern  two. 

You  get  five  ships,  each  with  99  imits  of  fuel. 
Here's  the  catch  —  if  you  run  out  of  fuel,  your  ship 
explodes.  It  is  not  uncommon  to  meet  this  fate  just 


moments  before  arming  the  bomb,  or  before  rising 
triumphantly  to  the  surface.  If  your  ship  blows  up 
in  a  certain  level,  you  have  to  start  over  at  the 
beginning  of  the  level. 

The  graphics  are  impressive.  Apparently,  the 
game  is  constructed  using  a  custom  character  set  in 
the  special  four-color  IRG  graphics  mode  (a  rather 
unexploited  feature  of  the  Atari  until  now).  Most 
of  the  animation  is  performed  with  vertical  fine 
scrolling,  and  the  ship  is  a  player.  It  also  uses  a 
modified  display  list  to  show  your  status,  and  I 
think  it  even  uses  display  list  interrupts.  All  in  all, 
an  excellent  use  of  the  Atari's  graphics  capabilities. 

Caverns  of  Mars  is  currently  only  available  on 
diskette.  You'll  also  need  a  joystick. 

A  curious  feature  of  the  program  is  that  it 
names  its  skill  levels  as  Star  Raiders  does:  Novice, 
Pilot,  Warrior,  and  Commander.  Will  Caverns  of 
Mars  replace  Star  Raiders  in  the  hearts  of  Atari 
space-game  fans?  If  so,  we  may  soon  hear  a  new 
phrase:  "Old  Star  Raiders  never  die,  they  just 
move  to  Mars..." 

Caverns  Of  Mars 

Available  through  dealers. 

$39.95  © 


CRT'S  •  PRINTERS  •  TELEPRINTERS 


•NEW* 
DEC  LAIOO 

Dual  Mode 
Matrix  Printer 

CALL  FOR  PRICE! 


•LOW* 

Letter  Quality 
DIABLO  630 

$1949.00 


*NEW* 

3M  WHISPER 
WRITER 

•TWX 

•  TIME  SHARE 

•  Comparer  Terminal 


iA 


CALL  FOR  OUR  LOW  PRICES  ON 


NEC,  QUME,  ANADEX, 

TELEVIDEO,  DEC,  T.I., 

TELETYPE,  DIABLO,  C.ITOH 


TOLL  FREE  (800)  854-6028 


SAVE  ON 
PREPAID 
ORDERS 


I 


MASTER  CARD 

VISA 

ACCEPTED 


C.O.D 

REQUIRES 

15%  DEPOSIT 


FOR  ORDERING 
INFORMATION 
PLEASE  CALL 


MICSOMML 

PO  Box  3297 
Santa  Ana.  CA<>2703 
Phone.  714  731-4338 
TWX:  910  595  1146 


1fcl 


COMPUTil 


July,  1982,  Issue  26 


Review: 


TWo  Programs 
From  The  VIC 
6  Pack 


Harvey  B,  Herman 
Associate  Editor 


Car  Chase 

This  is  a  clever  game  whicli  my  kids  rated  8  (out  of 
10).  There  are  two  cars  {the  blue  one  is  yours) 
traveling  in  opposite  directions  in  a  square,  four- 
lane  track.  The  object  of  the  game  is  to  score  the 
most  points  !x'f  ore  you  crash  into  the  other  car. 
Vou  can  change  lanes  or  speed  up  or  slow  down  U) 
a\'oid  a  collision.  Points  are  scored  by  riding  over 
dots  (and  later  diamonds)  on  the  tracks.  This  game 
is  ver\'  similar  to  the  PET  ]>rogram  XAR  sold  by 
CMr.mr  niaga/.inc. 

Wc  (my  kids  and  I)  parlicularh'  liked  several 
features  of  the  BASIC  game,  dolor  and  sound  are 
integrated  into  the  program.  Effective  use  of  a 
custom  character  set  makes  the  track  layout  mucli 
nicer  than  ii Only  the  standard  characters  had  been 
used.  The  other  car  is  smart  and  you  must  be  on 
vour  toes  to  avoid  a  crash.  To  score  well  vou  must 
change  speeds  at  appropiiatc  times  or  you're  stuck 
in  the  wrong  lane,  headed  foi"  disaster. 

The  one  featiu'c  I  did  not  like  (and  this  did 
not  seem  to  bother  my  kids)  is  that  the  keyboard  is 
used  as  the  car  controller.  1  prefer  a  joystick  or  the 
number  pad  on  the  old  PE Ts.  The  "J"  and  "K" 
keys  used  lo  change  lanes  arc  close  together  and  I 
was  forever  confusing  which  was  "move  in"  and 
"move  out."  You  don't  have  lo  think  as  much  witii 
a  joystick. 

A  helpful  hint:  the  instructions  say  not  to  use 
Car  C'hase  with  anv  memory  expansion  in  place. 
BullfcathersI  II  you  have  addecl  the  3K  memory 
expansion  a  special  load  sequence  is  necessary. 
Type: 

POKE  44,16 
POKE  4096,0 

NEW 
LOAD 

Before  loading  other  programs,  POKE  location  44 
back  to  normal  or  turn  the  VIC^  off  and  on. 


Blue  Meanies  From  Outer  Space 

This  is  an  Invaders-like  game  which  my  kids  rated 
6  (out  of  10).  The  blue  meanies  (frowning  faces) 
are  dropping  iVom  the  skies  trying  to  knock  out 
your  protected  power  cells  inside  your  starbase. 
You  are  able  lo  blast  them  with  fixed  laser  guns  as 
they  fall  erratically.  Points  are  added  when  you  kill 
a  meanie  or  deducted  if  you  hit  your  own  supply 
ship  which  is  coming  to  recharge  youi'  energy.  You 
must  have  energ)'  to  fire  )our  weapons.  Energy  is 
lost  when  shooting  and  for  various  other  operations. 
If  the  supply  ship  makes  it,  you  gel  an  energy 
bonus.  It  is  possible  to  repair  flamage  (holes  in 
your  starbase)  using  a  robot,  bm  at  the  cost  of 
energy.  When  the  meanies  reach  the  power  cells, 
the  game  is  o\'er. 

This  BASIC  game,  like  Car  Chase,  is  consider- 
ably enhanced  by  good  use  of  color,  sound,  and  a 
custom  character  set.  It  was  fun  to  shoot  the 
meanies,  but  it  would  have  been  even  more  fun  if 
they  were  a  little  smarter.  (However,  the  instruc- 
tions do  promise  "meaner  meanies'"  after  20  are 
shot.)  Again.  I  prefer  a  joystick  to  the  u.se  of  the 
keyboard  for  game  control.  I  gel  confused  if  the 
required  actions  are  not  reilexive.  My  kids  com- 
mented that  the  instructions  for  the  repair  robot 
^vere  not  clear  and  they  did  not  care  for  negative 
energy  or  a  suspended  robot.  I  believe  they  have 
been  spoiled  by  playing  Invaders  on  the  PET.  Blue 
Meanies  is  a  good  program,  but  it  doesn't  quite 
match  up  to  lliat  very  good  simulation  of  the  video 
arcade  game. 

Note:  i(  you  have  added  a  SK  mcmorv  expan- 
sion, use  the  same  trick  as  above  ibr  Car  Chase  to 
LOAD  Blue  Meanies. 

Commodore  Business  Alachhti's 

681  Moore  lid. 

KingofPrifisia,  PA  19406 

$^3.95  (for  all 6)  ® 


*VIC-20* 

FROG 

Take  contra!  of  an  animated  1ly  zapper. 
Requires  NO  extra  equipment. 

...  Each  $T7.95  cassette ... 

P.O.  Box  351 15      Phoenix,  A2  85069 

GAMES  FOR  THE  PET  ALSO  AVAILABLE 

Review: 


SoftBox  - 

CP/M  For  PET/CBM 


Richard  Mansfield 
Assistant  Editor 


A  considerable  amount  of"  software  requires  the  disk  operating  system 
known  as  CP/M.  Originally  developed  in  1973,  it  has  since  become  an 
essential  part  of  many  word  processor,  accountins^,  data  base  manager 
and  oilier  commercial  software  products.  CF/M  means  "(Control 
Program/Monitor"  and  was  intended  for  use  with  tlie  8080  and  Z8() 
micro|3roccssors.  "SoftBox,"  maniifactmed  by  Small  Systems  En- 
gineering, however,  allows  you  to  use  CP/M-based  software  packages 
on  the  PET/CBM  computers. 

Attached  between  your  PET  and  disk  drive,  this  "inlerfacc- 
conipLiter"  contains  64k  RAM,  a  Z8()  chip,  IEEE  and  RS-232  inlerfaccs 
with  software-defmable  baud  rates,  and  a  Corvus  hard  disk  interface. 
The  unit  will  work  with  any  PET/CBM  using  Upgrade  or  4,0  B.4SIC 
and  8K  RAM,  An  optional  cassette  program  can  be  used  with  Original 
PETs.  Any  combination  of  from  one  to  eight  Ckimmodore  floppy  disk 
drives  (2040,  3040,  4040,  or  8050)  may  be  attached,  resulting  in  up  lo 
a  potential  eight  megai>ytes  mass  memory  available  at  one  lime.  Memory 
can  be  further  increased  by  attaching  Corvus  hard  disk  chives.  A  total 
of  80  megabytes  is  possible. 

Simple  To  Set  Up 

Adding  CP/.M  lo  youi'  PET  takes  only  a  few  minutes.  Vou  plug  a  stan- 
dard PET-lo-IEEE  cable  between  the  SoftBox  and  your  disk  drive, 
(Another  of  these  cables  goes  from  the  drive  to  the  PET.)  When  you 
power-up  die  ihree  iniits.  everything  is  normal  and,  in  fact,  you  can 
work  with  the  computer  and  the  disk  drive  as  if  SoftBox  were  not 
connected. 

For  CP/M,  you  place  the  supplied  disk  (CP/M  Version  2,2)  into 
Drive  zero,  LOAD,  and  RUN  it.  That's  it.  PET  is  now  under  the  control 
of  CP/M.  The  disk  contains  a  variety  of  CT/M  luililies,  special  C'orvus 
files,  and  a  SoftBox  memory  test  diagnostic  program. 

If  you've  not  worked  with  CP/M,  the  SoftBox  User's  manual  is  an 
excellent  introduction.  It  takes  you  through  the  major  CP/M 

commands,  stcp-by-step,  and  clearly  demon- 
strates their  uses  and  terminology.  Special 
connnands  allow  vou  lo  control  the  PET 
screen  (Lip]5er/lowercase,  graphics/texl),  the 
TIS  function,  and,  when  you  want  to  return 
to  normal  PET  BASIC,  simply  type  "cold" 
and  you're  back  in  the  C'onmiodore. 

And  for  the  more  advanced  user,  several 

appendices  provide  technical  information, 

a  map  of  Sol'tBox's  memorv,  suggestions 

on  modifying  CP/M  itself,  and  I/O  details. 


SoflBox,  $,S'95 
Small  Systems  Engineering 
222  B  View  Sireel 
Mountain  View,  CA  94041 


THE  DATA  HANDLER 

for  VIC 

A  word  processor  and  catalog 
program  for  the  V1C-20  plus  8K 

'over  15  edit  functions 
'sorting 

"data  formatting 
"expandable 

"screen  scrolling— 78  ctiaracler  lines 
■full  documentation 
"works  with  cassette  and 
standard  VIC  printer 
"disk  version  available 
'easy  to  adapt  for  RS-232  printers 
Price  $29.95 
C.O.D,,  ctieck,  or  money  order 

(Specify  di5k  or  cassette! 

NW  Software 

P.O.  Box  126 

Urbana,  IL  61801 

(217)356-7511 

Dealer  inquiries  welcome 
VIC  IS  a  trademark  o*  Commodore. 


\aC-20  SOFTWARE 

Ovzr  100  programs  on  tape 
and  cartridge  for  the  \1C 
computer — both  educa- 
tional and  fun!! 

Write  or  call  for  your  free 
catalog. 

Sunrise  Electronics 

7057  Lompoc  Court 

Citrus  Heights,  California 

95610 

(916)  969-8319 


yiC  BACKGAmmON  VIC 

Plays  a  great  game  by  the  rules  and 

won't  let  you  cheat  Our  best  seller. 

SK  version  S12.95 

Advanced  8K  version  S19.95 

BLACKJACK  TUTOR 
Learn  when  to  HIT,  STAY,  SPLIT  PAIRS 
and  DOUBLE,  You  can  bear  Vegas  for 
just  512.95 

GRAPHICS  GENERATOR 
Create,  edit,  reverse,  save  special  ctiar- 
acters  unique  DEMO  feature  included 

S9.95 
MAZE-MAN 
Arcade  game   wicfi    fast  munching 
action.  Key  or  joystick,  S9,95 

All  programs  fit  into  5K  vic-20-  Send 
for  free  catalog 

Send  check  or  money  order  to: 
(Add  50C  for  postage) 

RAR-TECH 

Box  761,  Rochester,  mi  48063       . 

VIC  iranemark  of  Commoaore  / 


186 


COMPUTEI 


July.  1982,  Issue  26 


Review: 

SYSRES  For 
PET/CBM 

Charles  Brannon 
Editorial  Assistant 

SYSRES  claims  to  be  the  "ultimate  program 
manipulation  system."  Like  its  predecessors,  the 
Toolkit  and  BASIC  Aid,  SYSRES  is  a  programmer's 
aid  package.  SYSRES  "wedges"  into  BASIC  and 
adds  33  commands  (including  six  improved  BASIC 
commands)  plus  1 1  extended  DOS  Support  (the 
original  "Wedge")  commands.  All  of  the  commands 
are  used  for  the  development  and  maintenance  of 
BASIC  programs. 

The  primary  tools  needed  by  a  programmer 
are;  auto  line  numbering,  renumbering,  find,  and 
trace.  SYSRES  supplies  "deluxe"  versions  of  all 
these.  Automatic  line  numbering  provides  the  line 
numbers  when  typing  in  a  program.  If  you  start  at 
line  100,  it  will  automatically  print  1  10  when  you 
press  RE  TURN  on  line  100  (assuming  a  step  size 
often).  SYSRES  permits  as  unique  variation:  auto- 
matic statement  generation.  If  you  are  typing  in  a 
long  set  of  D.\T.A.  statements,  SYSRES  can  provide 
the  line  numbers  and  the  word  "DATA."  SYSRES 
offers  a  "fill  in  the  blank"  line  where  you  only  need 
to  enter  a  single  number.  It  can  even  press  RE- 
TURN for  you,  giving  it  the  capability  for  automatic 
line  entry. 

Advanced  Renumber 

Most  Renumber  commands  change  the  line  num- 
bers of  a  BASIC  program  by  an  even  increment 
and  update  all  line  references  made  by  GOTO, 
THEN,  GOSUB,  etc.  The  entire  program  is  re- 
numbered. SYSRES  permits  partial  renumber. 
You  can  renumber  just  a  subroutine,  for  example, 
preserving  all  other  line  numbers,  and  updating 
any  line  references  if  neces.sary. 

Perhaps  the  most  useful  command  in  a  package 
like  this  is  a  Find  command.  Many  programmers 
find  it  indispensable.  Using  Find,  you  can  locate 
any  variable,  phrase,  or  keyword  used  anywhere  in 
your  program.  Another  related  command  is 
Change,  which  permits  you  to  replace  any  variable, 
phrase,  or  keyword  with  anything  else. 

For  the  Change  command  especially,  it  is  vital 
that  you  exactly  specify  the  search  string.  You  may 
want  to  change  A$  to  B$,  but  you  don't  want  ZA$ 
to  become  ZB$.  To  zero  in  on  whatever  you  are 
searching  for,  SYSRES  permits  yoti  to  use  several 
wild  card  and  limitation  symbols  (such  as  V  for 
Variable,  B  for  Beginning  of  line,  or  a  quote  to 


signal  quote  mode),  which  together  permit  over 
700  possibilities. 

Debugging  a  program  is  much  easier  with  a 
Trace  command.  Trace  (as  implemented  by 
SYSRES)  permits  you  to  display  program  variables 
as  they  change  or  are  defined.  So,  you  could  display 
the  index  of  a  FOR/NEXT  loop,  or  watch  how- 
certain  variables  interact.  (You  can  also  type  DUMP 
in  direct  mode  to  display  all  variables.) 

The  advanced  editor  commands  let  you  use 
the  BASIC  editor  as  a  general  purpose  ASCII  line 
editor.  The  commands  GET  and  PUT  let  you  save 
this  ASCII  file  to  disk.  SYSRES  even  partially 
tokenizes  this  file  to  save  disk  space.  These  ASCII 
files  can  be  used  to  develop  EXEC  files,  which  are 
a  sequence  of  direct  commands  that  are  executed 
as  if  they  were  a  program.  This  gives  the  PET/CBM 
the  power  found  formerly  onlv  in  CP/M's  .EXC 
files,  Apple's  EXEC  files,  or  Atari's  ENTER  files. 
An  important  feature  of  EXEC  files  is  that  they  use 
no  program  memory  as  they  execute. 

When  using  SYSRES,  you  get  a  feeling  that 
careful  design  went  into  the  system.  All  keys  repeat, 
and  the  cursor  keys  "take  off  quickly.  Full  up/clown 
scrolling  of  your  BASIC  program  is  supported, 
and  it  works  perfectly.  If  you  displav  the  directory 
with  the  improved  ">S0"  command,  these  line 
numbers  cannot  be  accidentally  entered  as  program 
lines  or  activate  the  scrolling  feature. 

Full  printer  support  is  aLso  included  with  full 
ASCII  translation.  Any  command  can  be  sent  to 
the  printer  if  preceded  with  an  asterisk.  For  exam- 
ple, *LIST  would  list  a  program  to  the  printer. 
You  can  also  dump  the  screen  by  holding  down 
both  SHIFT  keys  and  pressing  RVS.  Speaking  of 
keys,  with  SYSRES  you  can  define  any  shifted  key 
to  equal  any  sequence  of  keys  or  keywords.  When 
you  define  any  key,  all  the  alphabetic  keys  "come 
alive"  with  convenient  single'ke\'  abbreviations. 

Improvements  To  BASIC  itself 

The  improved  BASIC  commands  are  another 
example  of  the  care  taken  to  produce  a  complete 
"operating  system."  The  LOAD,  SAVE,  and 
VERIFY  commands  default  to  the  disk  drive,  and 
the  save  with  replace  ("@")  works  on  any  disk 
drive.  (It  first  SCRATCHes,  then  resaves  the  pro- 
gram.) Nevertheless,  none  of  the  commands  are 
programmable.  Therefore,  programs  developed 
with  SYSRES  are  fully  transportable  .'^s  the  manual 
says,  "SYSRES  is  designed  to  be  'addictive  to  pro- 
grammers not  to  programs.'  " 

SYSRES 

Solidti.s  International  Corporation 

Sidle  6-144  West  J5lh  Street 

North  Vancouver,  B.C. 

Canada,  V7M  IR5. 

$75.  C 


July,  1982.  Issue  lb 


COMPUTEI 


187 


Review: 


Fun  With 
IVIicrocomputers 
And  BASIC 


Fred  D'Ignozio 
Associate  Editor 


Do  you  like  puzzles  and  games? 

Arc  you  looking  for  a  quick,  painless  way  lo 
learn  how  to  program  a  personal  computer? 

Are  you  a  kid,  an  adull,  or  something  in 
between? 

If  you  answered  v'v  \.o  all  these  questions,  then 
this  bo<jk  is  for  you. 

I  am  a  person  who  has  a  low  pain  threshold, 
when  it  comes  to  plowing  through  "introductory" 
guides  to  personal  computers.  "Ouch!"  I  cry  when 
I  see  guides  set  in  a  midget-sized  typeface  that 
resembles  footprints  made  bv  a  tapdancing  Ilea. 

The  same  goes  when  I  see  guides  \\ith  no 
pictures,  or  guides  that  are  loo  technical,  too  seri- 
ous, too  sombei-,  oi-  too  iri\ial.  These  books  give 
me  indigestion  -  the  same  hunpy  discomfoii  I 
experience  when  I  swallow  a  plateful  of  spaghetti 
and  meatballs  I  forgot  to  chew. 

Don  .Spencer"s  book  is  different,  h's  fini,  it 
really  teaches,  and  it's  an  almost  painless  inttoduc- 
tion  to  microcomputers  and  BASIC  programming. 

The  book  starts  at  a  loftv  level.  In  the  fust  ten 
pages,  Spencer  skims  over  computers"  social  impact, 
computer  devices,  trends,  and  careers. 

f  hen  you  get  down  lo  business.  You  plan  a 
[jrogram,  learn  a  iiiiic  about  llowcharting,  gel  a 
few  tips  on  how  lo  write  )our  first  program. 

Then  you  dive  into  BASIC.  For  twenlv  pages, 
you  swim  through  constants  and  variables,  arilh- 
metic  operations  and  DAT.\  statements.  You  finish 
b\  loo[)ing  through  arrays. 

Then  come  seventy  pages  of  programs  in- 
eluding  Manhattan  Island,  Sam's  Monkev,  The 
Jolly  Green  Giant,  and  Roger  Cioes  to  the  Circus.  If 
you  are  math-oriented  or  a  c(jmpulsive  gambler, 
you'll  really  like  these  programs. 

I  recommend  this  book  to  teachers  oi  intro- 
ductory programming  courses,  and  to  parents, 


kids,  and  anxious  professionals  just  getting  started 
on  their  new  computer.  The  problems  start  easy 
and  get  harder.  Almost  all  come  with  actual  "solu- 
tion" programs  you  can  study.  There  are  even 
occasional  exercises  for  you  to  tackle. 

This  is  what  the  book  offers. 

What  does  it  lack? 

It  is  only  an  in/rod iirfioit  lo  microcomputer 
BASIC',  so  don't  expect  lo  be  a  progrannning  whiz 
when  you  are  done  — especially  with  regard  to  a 
particulai'  machine.  Also,  there  is  almost  nothing 
on  soinid  or  graphics  —  two  popular  features  of  the 
new,  low-cost  personal  computers. 

Still,  it's  a  good  start.  Whether  you're  old  or 
yoimg.  Whether  you're  cocky  about  computers  or 
afraid  to  touch  one  for  fear  it  might  bite  off  your 
hand.  Or  explode. 

Fun  with  Minocomputcrs  and  BASIC 

by  Donald  I).  .Sjjenccr 

Resion  Publishing  Cio. 

1 1480  Sun.set  Hills  Rd. 

Reston.  VA  22090 

1 28  pages 

$9.95  [japerback  © 


A^  0 

SERVICE... 

a  nonexistant  word  in 
computer  language? 

Now  you  can  get  FACTORY  AUTHOR- 
IZED service  for  your  Commodore  or 
Atari  computer  and  peripherals  at  reason- 
able cost.  Minimize  your  down  time 
frustration  and  expense.  Extended  war- 
ranty available  for  most  products,  too! 

CALL 

71 7-327-1 450 

Micro  Computer 
Service  Center 

477  E.  Third  St.,  Williamsport,  PA  17701 


188 


COMPUTEI 


July.  W82.  Issue  26 


COMPUTEi's  Listing  Conventions 


Many  of  the  programs  which  are  hsied  in  COMPUTE!  use 
special  keys  (cursor  control  keys,  color  keys,  etc.)  To  make  it 
easy  to  tell  e.xarlh  what  should  be  typed  in  when  copvuig  a 
program  into  the  computer,  we  have  established  the  Ibllowing 
listing  conventions. 

For  The  Atari 

.All  ilif  editing  and  cursor  control  characters  are  spelled  out 
and  surrounded  by  brackets  in  the  program  listings:  ICXEARl 
(or  "clear  screen."  Other  characters,  such  as  CTRL-T  (the 
"ball"  character)  will  be  listed  as  the  "normal"  character,  but  it 
will  be  within  brackets:  [T].  A  series  of  identical  control 
characters  will  be  indicated  bv  a  numlier  within  the  brackets: 
{;U)C)VVN)  means  type  KSC  (X  RSOR-DOWN  three  limes: 
{  lij  Rl  would  mean  lype  t'TRL-R  twelve  times.  Reniemlx-r  to 
press  the  ESC  (escape)  key  before  each  cursor  control  key.  If 
you  should  see  [  ESC)  itself  in  a  program  listing,  vou  would 
pres.s  ESC  twice. 

Two  of  the  control  characters,  { = }  and  { -} ,  should  be 
shifted.  Any  reverse  field  lexi  will  be  enclosed  within  vertical 
lines.  (In  other  words,  anv  lime  you  see  a  vertical  line  within  a 
program  listing  in  COMPUTE!,  press  the  .A.tari  logo  key   (A) .) 
Atari  Conventions 

tCLEAR}=  3HIR-<  (Clear  Screen) 

aP}=  CTRL-fflirvus  (Orsor  Up) 

0)01*0=  CTl?L-eHuals  (Cu-^sor  Dowri) 

<1£FT}=  CTRL-plt^  <Ct,rsor  left) 

{RIGKD=  CTRL-asterisk  (CXrsor-  right) 

{BACK  S)=  BACK  S  (Back  space) 

{DELETD=  CTRL-DELETE  (Delete  cl^racter) 

<DEL  LI«>=  SHIFT-OaTTE  (Delete  Line) 
CIMS£RT)=  CTRL-INSERT  (Insert  character) 

ONS  LIhE>=  SHin-IHSS:T  (Insert  line) 
{ESC>=  ESC  (ESCape  key  pt^essed  twice) 
aAB:>=  TAB  <Tab  kes) 
CCLR  TflB)=  CTRL-TAB  (Clear  tab  sett ine) 
{SET  TAB>=  SHIFT-TAB  (Set  tab  stop) 
(SELU-  CTRL-2  (Rins  buzzer) 

For  PET/CBM/VIC 

(Generally,  any  PET/CBM/VIC  program  listings  will  contain 
bracketed  words  which  sjjcll  out  any  special  characters: 
(  DOWN)  would  mean  to  press  the  cursor-down  key; 
(!iDO\VNj  would  mean  to  press  the  cursor-down  key  three 
times. 

To  indicate  that  a  key  shotild  he  .shifted  (hold  down  the 
SHIFT  kev  white  pressing  ihe  other  key),  the  key  would  be 
underlined  in  our  listing,  for  example,  S  would  mean  lo  type 
the  S  key  while  holding  the  shift  key.  This  would  resuli  in  ilie 
"heart"  graphics  symbol  appearing  on  vour  screen. 

Sometimes  in  a  program  listing,  especially  within  quoted 
text  when  a  line  runs  over  into  the  next  line,  it  is  difilcult  t<i 
tell  where  the  first  line  ends.  How  many  times  should  you  type 
the  SP.ACE  bar?  In  our  convention,  \vhen  a  line  breaks  in  this 
way,  the  -  symbol  shows  exactly  where  it  broke.  For  example: 

100    PRINT    "TO    START    THE    GAME       " 

YOU    MAY    HIT    ANY    OF    THE    KEYS 

ON   YOUR    KEYBOARD." 
shows  that  the  program's  author  intended  for  you  to  type  two 
spaces  after  the  word  (iAME. 

For  The  Apple 

Programs  listed  as  "Microsoft"  are  written  for  the  PET/CBM, 


Apple.  (XSI,  etc.  .Although  the  programs  are  general  in  naiure, 
you  may  need  to  make  a  few  changes  for  iheni  to  run  coriecilv 
on  your  .Ajjple.  Microsoft  B.A^SIC  programs  written  for  the 
PE  I7CBM  sometimes  contain  special  cursor  control  characters. 
The  following  table  shows  equivalent  .-\pple  words.  Notice 
that  these  Ap[)le  commands  are  out.'^idf  cjuotations  (and  even 
separate  from  a  PRINT  statement).  PRINT"[RVS]YOU 
WON"  becomes  INVERSE:  I'RINT'YOU  WON":NORMAL 

[CLEAR(  (Clear  Screen)  HOME 

[DOWN]  (Cursor  down) 
Apple  II  -f:  Call -922 
POKE37,PEEK(37)-l-(PEEK(37)<23) 

[UP]   (C;ur.sor  up) 

POKE  37.PEEK(37)-(PEEK(37)>())) 
[LEFT]  (Cursor  left)  PRINT  CHR$(8); 

[RIGHT]  (Cursor  right) 
PRINT  CHR$(21) 

[RVS]  (Inverse  video  on.  lurns  off  automatically  after  a 
carriage  return.  To  be  safe,  turn  off  inverse  video  after 
the  prim  statement  with  NORMAL  unless  the  PRINT 
slatemeru  ends  with  a  semicolon.) 
INVERSE 

[OFF]  (Inverse  video  ofO  NORMAL 

Shifted  characters  can  represent  either  graphics  characters 
or  uppercase  letters.  If  within  text,  just  use  the  non-shifted 
character,  otherwise  substitiuc  a  space.  Some  "gctierali/ed" 
programs  coniain  a  POKE  such  as  POKE  59468,14.  Omit 
these  from  the  program  when  typing  it  in.  One  final  ncite:  vou 
will  probably  want  lo  insert  a  questit>n  mark  or  colon  within  an 
INPL'f  prompt.  PET/CBM  and  many  other  BASICs  automat- 
ically print  a  question  mark: 

INPUT  "WHAT  IS  YOUR  NAME";N$ 

becomes 
INPUT  "WHAT  IS  YOUR  NAME?";N$ 


All  Commodore  Machines 

Clear  Screen    (CLEAR} 
Home  Cursor  (  HOME] 
Cursor  Up        iup} 
Cursor  Down  {  DOWN  ) 
Cursor  Right  {RIGHT} 

VIC  Conventions 


Cursor  Left  (LEFT) 

insert  Character    [INST} 
Delete  Character    (DEL} 
Reverse  Field  On  {RVS) 
Reverse  Field  Off  { OFF } 


Set  Color  To  Black 

(BLK) 

Set  Color  To  White 

{WHTi 

Set  Color  To  Red 

{RED} 

Set  Color  To  Cyan 

(CYN} 

Set  Color  To  Purple 

(PUR} 

Set  Color  To  Green 

{GRN} 

Set  Color  To  Blue 

{BLU} 

Set  Color  To  Yellow 

{YEL} 

Function  One 

{PD 

8032/Fat  40  Conventions 

Set  Window  Top 

{SET    TOP} 

Set  Window  Bottom  {SET    B  OT } 

Scroll  Up 

(SCR    UP} 

Scroll  Down 

{SCR    DOWN) 

Insert  Line 

{INST    LINE} 

Delete  Line 

{DEL    LINE) 

Function  Two 

lF2i 

Function  Three 

[F3} 

Function  Four 

{F4} 

Function  Five 

{F5} 

Function  Six 

{F6} 

Function  Seven 

{F7) 

Function  Eight 

(F8) 

Any  Non-implemented 

Function 

(NIM) 

Erase  To  Beginning  {ERASE    BEG) 
Erase  To  End  {ERASE    END) 

Toggle  Tab  {TGL    TAB) 

Tab  { TAB } 

Escape  Key  {ESC}        ^ 


July,  1982.  Issue  26 


COMPUTE! 


189 


COMPUTE!  Back  Issues 


Here  are  some  of  the  applications,  tutorials, 

and  games  from  available  back  issues  of 
COMPt/TlL  Each  issue  contains  much, 
much  more  than  there's  space  here  to  list, 
but  here  are  some  highlights: 


January,  198 1 :  Load  PET  Programs  Into 

The  Apple  II,  Player-Missile  Graphics  for 
Atari,  The  Atari  DOS,  The  Kernel  of  the 
OSI  Operating  System,  Fixing  LOADing 
Problems  on  the  PET,  Spooling  with  the 
PET  Disk,  Expanding  KIM. 

February,  1981:  Simulating  PRINT  USING, 
Using  the  Atari  as  a  Terminal  for  Telecom- 
munications, Attach  a  Printer  to  the  Atari, 
Double  Density  Graphing  on  CIP,  Commo- 
dore Disk  Systems,  PET  Crash  Prevention, 
A  25(i  Apple  II  Clock. 

March,  1981:  Machine  Language  Pro- 
gramming for  Beginners,  Getting  the  Most 
from  your  PET  Cassette  Deck,  Apple  and 
PASCAL,  Flipping  your  Apple  Disk, 
Designing  your  own  Atari  Character  Sets, 
Renumber  for  Atari,  An  Arari  Disassembler, 
Six-gun  Shootout  Game  for  OSI  CIP,  PET 
Machine  Language  Graphics. 

April,  1981:  How  to  be  a  VIC  Expert, 
Resolving  the  Applesoft  and  Hires  Graphics 
Memory  Conflicts,  Atari  SuperCube,  String 
Arrays  in  Atari,  Memory  Partition  in  PET, 
Pet  Relative  Files,  Working  with  BASIC 
4.0,  Commodore  File  I/O,  ROM  Expansion 
for  Commodore  PET. 

May,  1981 :  Named  GOSUB/GOTO  in 
Applesoft,  Generating  Lower  Case  Text  on 
Apple  II,  Copy  Atari  Screens  to  the  Printer, 
Disk  Directory  Printer  for  Atari,  Realtime 
Clock  on  Atari,  PET  BASIC  Delete  Utility, 
PET  Calculated  Bar  Graphs,  Running  40 
Column  Programs  on  a  CBM  8032. 

June,  1981:  Computer  Using  Educators 
(CUE)  on  Software  Pricing,  Apple  II  Hires 
Character  Generator,  Ever-  expanding 
Apple  Power,  Color  Burst  for  Atari,  Mixing 
Atari  Graphics  Modes  0  and  8,  Relocating 
PET  BASIC  Programs,  An  Assembler  In 
BASIC  for  PET,  QuadraPET:  Multitasking? 

July,  1981:  Home  Heating  and  Cooling, 

Animating  Integer  BASIC  Lores  Graphics, 
The  Apple  Hires  Shape  Writer,  Adding  a 
Voice  Track  to  Atari  Programs,  Machine 
Language  Atari  Joystick  Driver,  Four  Screen 
Utilities  for  the  PET,  Saving  Machine 


Language  Programs  on  PET  Tape  Headers, 
Commodore  ROM  Systems,  The  Voracious 
Butterfly  on  OSI. 

August,  1981:  Minimize  Code  and  Maximize 
Speed,  Apple  Disk  Motor  Conrrol,  A 
Cassette  Tape  Monitor  for  the  Apple,  Easy 
Reading  of  the  Atari  Joystick,  Blockade 
Game  for  the  Atari,  Atari  Sound  Utility, 
The  CBM  "Fat  40,"  Keyword  for  PET,  CBM/ 
PET  Loading,  Chaining,  and  Overlaying. 

September,  1981:  The  Column  Calculator, 
What  is  a  Modem  and  Why  Do  I  Need 
One?,  PET,  Apple,  Atari:  On  Speaking 
Terms,  A  Tape  "EXEC"  for  Applesoft,  A 
Self-altering  Program  for  Apple  II,  Posi- 
tioning P/M  Graphics  and  Regular  Graphics 
in  Memory,  An  Atari  BASIC  Sort,  Shoot, 
an  Arcade  Game  for  Atari,  Exploring  OSFs 
Video  Routine,  PET  Tape  Append  and 
Renumber,  All  About  LOADing  PET 
Cassettes. 

October,  1981;  Automatic  DATA  State- 
ments for  CBM  and  Atari,  VIC  News, 
Undeletable  Lines  on  Apple,  PET,  VIC, 
Budgeting  on  the  Apple,  Switching  Cleanly 
from  Text  to  Graphics  on  Apple,  Atari 
Cassette  Boot-tapes,  Atari  Variable  Name 
Utility,  Atari  Program  Library,  Train  your 
PET  to  Run  VIC  Programs,  Interface  a  BSR 
Remote  Control  System  to  PET,  A  General 
Purpose  BCD  to  Binary  Routine,  Converting 
to  Fat-40  PET. 

November,  1981:  SuperPet:  A  Preview, 
Japanese  Micros;  A  First  Look,  Introduction 
to  Binary  Numbers,  An  Apple  Primer,  Page 
Flipper  for  Apple,  An  Atari  Database 
System,  A  Program  for  Writing  Programs  on 
the  Atari,  Atari  Textplot,  OSI  Relocation, 
The  PET  Speaks,  Inversion  Partitioning,  A 
Personal  News  Service  on  PET,  Bits,  Bytes, 
and  Basic  Boole. 

December,  1981:  Saving  Fuel  $$  (Multiple 
Computers:  versions  for  Apple,  PET,  and 
Atari),  Unscramble  Game  (multiple 
computers),  Maze  Generator  (multiple 
computers),  Animating  Applesoft  Graphics, 
A  Simple  Printer  Interface  for  the  Apple  II, 
A  Simple  Atari  Wordprocessor,  Adding 
High  Speed  Vertical  Positioning  to  Atari  P/ 
M  Graphics,  OSI  Supercursor,  A  Look  At 
SuperPET,  Supermon  for  PET/CBM,  PET 
Mine  Maze  Game. 

January,  1982:  Invest  (multiple  computers). 
Developing  a  Business  Algorithm  (multiple 


computers),  Apple  Addresses,  Lowercase 
with  Unmodified  Apple,  Cryptogram  Game 
for  Atari,  Superfont:  Design  Special 
Character  Sets  on  Atari,  PET  Repairs  for 
the  Amateur,  Micromon  for  PET,  Self- 
modifying Programs  in  PET  BASIC,  Tiny- 
mon;  a  VIC  Monitor,  Vic  Color  Tips,  VIC 
Memory  Map,  ZAP:  A  VIC  Game. 

February,  1982;  Insurance  Inventory 
(multiple  computers),  Musical  Transposition 
(multiple  computers).  Multitasking 
Emulator  (multiple  computers),  Disassemble 
Apple  Programs  from  BASIC,  Plotting 
Polar  Graphs  on  Apple,  Atari  P/M  Graphics 
Made  Easy,  Atari  PILOT,  Put  A  Rainbow 
in  your  Atari,  Marquee  for  PET,  PET  Disk 
Disassembler,  VIC  Paddles  and  Keyboard, 
VIC  Timekeeping. 

March,  1982:  Word  Hunt  Game  (multiple 

computers).  Infinite  Precision  Multiply 
(multiple  computers).  Atari  Concentration 
Game,  VIC  Starfight  Game,  CBM  BASIC 
4.0  To  Upgrade  Conversion  Kit,  Apple 
Addresses,  VIC  Maps,  EPROM  Reliability, 
Atari  Ghost  Programming,  Atari  Machine 
Language  Sort,  Random  Music  Composition 
on  PET,  Comment  Your  Apple  II  Catalog. 

April,  1982:  Track  Down  Those  Memory 
Bugs  (multiple  computers).  Shooting  Stars 
Game  (multiple  computers),  Inrelligent 
Input  Subroutines  (multiple  computers), 
Ultracube  for  Atari,  Customizing  Apple's 
Copy  Program,  Using  PET/CBM  In  The 
High  School  Physics  Lab,  Grading  Exams 
on  a  Microcomputer  (multiple  computers). 
Atari  Mailing  List,  Renumber  VIC  Programs 
The  Easy  Way,  Browsing  the  VIC  Chip, 
Disk  Checkout  for  PET/CBM. 


Back  issues  are  $3.00  each  or  six  for  $15.CX). 
Price  includes  freight  in  the  US.  Outside  the 
US  add  $1  .(X)  per  magazine  ordered  for 
surface  postage.  $3.00  per  magazine  for 
air  mail  postage.  All  back  issues  subject  to 
availability. 

In  the  Continental  US  call 

TOLL  FREE  800-334-0868 

(In  NC  Call  919-275-9809) 

Or  write  to  COMPUTE!  Back  Issues,  P.O. 
Box  5406,  Greensboro,  NC  27403  USA. 
Prepayment  required  in  US  funds, 
MasterCard,  Visa  and  American  Express 
accepted.  North  Carolina  Residents  add  4% 
sales  tax. 


64K  RAM  for  AIM-65®and  SYM-ffrom 
BYTE  MICROSYSTEMS 


AT  LAST,  ENOUGH  MEMORY  TO  GET  THE  JOB 
DONE  RIGHT!  AND  AT  THE  RIGHT  PRICE! ! 


•  EA  S  Y.  PL  UG-IX ISSTALLA  TION 

•  NO  SOLDERING  REQUIRED 

•  A  FPEA  RSAS2  MEM  OR  Y  BA  NKS. 
EA CH  32 K  B  YTES  LONG 

•  OCCUPIES  ADDRESS  RANGE  0000-7FFF 

m  DESIGNED  FOR  COMPA  TIBILITY  WITH 
ALL  AIM  AND  SYM  PROGRAMMING 
LANGUAGES.  AND  WITH  BYTE-DOS 
AIM-65  DISK  SYSTEM* 

•  ALL  ADDRESS  AND  DATA  LINES 
FULLY  BUFFERED 

•  USER  UPGRADABLE  TO  ADD 
PIGGYBACK  COLOR  VIDEO  GRAPHICS 
BOARD  (SOON  TO  BE  RELEASED) 


SPECIAL  INTRODUCTORY  PRICE 


$ 


399 


00 


(Effective  9/1/82  will  be  $475.00) 

Includes,  assembled,  rested  board, 
connectors  and  complete  instructions. 
Dealer  inquiries  invited. 


BYTE 

MICROSYSTEMS 

cos 

P          O          B          A          T          1          O          N 

1477!lKA»vtNU[.SANJOSf.C»»!1W                      «JB/4iJ,l»SS 

BYTE-DOS    $499   SYSTEM    INCLUDES    DISC    CON- 
TROLLER  CARD,    TEAC  FD-50A    DISC  DRIVE 


SEND  ME  THE  FULL  STORY! 

:  Name                                                                         : 

I  rnmpany                                                                                    ^ 

'■  AdrirPts 

:citv 

:   Tr.l»phnfio 

Slate 

Zip 
D  home         '. 

AIM-65  is   1  tr«d«m»rk  of  fiockwoll  Internatlonil 
STM-1  is  a  tr«d»inark  of  Synartsk  Systems  Corp. 


CAPUTE!: 

Modifications  Or 
Corrections  To 
Previous  Articles 

Further  Notes  on  "Fast  Sort  For  PET/CBM" 

The  following  information  honi  Jim  Russo  uill  iiid 
in  aciaptint^r  ilic  I'F.  IVCliM  niarliiiu-  lant>iiasi;c  sort 
utility  to  work  uilhin  a  BASK!  [jrngrain.  "Fast 
Sort"  appeared  in  COMPUTE!,  Mav,  1982.  #24, 
pg.  160: 

This  roiitiiK'  operates  on  sliing.s  ofetiiial  length 
which  occupy  coniiguous  memory  locations.  1 1 
does  not  know  about  variable  names  or  arrays.  Tlie 
example  given  in  tlic  article  uses  Program  2  to 
collect  some  data,  ancl  then  Program  3  to  read  it.  in 
order,  into  a  tresh  string  data  space,  without  any 
extra  suing  \ariables.  Boih  (unci ions  toulcl  be 
done  in  Uie  same  program  if  the  data  was  written 
into  an  array  as  it  was  collected,  and  then  the  fol- 
lowing line  was  used  to  nicne  tlie  data  into 
a  contiguous  area  at  the  beginning  oCslring 
memory: 
FORI  =  0TOTN-1:    A$  (I )  =AS  (I)  -.NEXT 

In  a  larger  program  witli  more  than  one  array. 


this  same  technique  could  be  used  to  move  each 
array  to  the  appropriate  place  when  it  was  time  lor 
it  to  be  sorlecl. 

Line  150  m  Program  3  will  tail  For  certain 
values  of  length  and  number  of  lecords.  .A  better 
way  to  write  it  is: 

150  AA=256*HA+LA+LN+2:POKE179,AA  AND  255:PO 
KE180,AA/256 

The  two  extra  bytes  used  in  each  string  b\ 
B.A.SIC  4.0  are  a  pointer  back  to  tlie  variable  data 
area,  where  the  siring  length  and  starting  address 
aie  stored.  Ai'ler  a  sort,  ilicse  pointers  are  not 
valid.  No  harm  will  be  done  as  (aiiir  as  none  of /hr 
sorted  strings  is  redefined  by  the  pnigrani.  If  some  of 
the  sorted  strings  are  redefined  bv  the  program, 
then  a  siib.sec|ueu[  garbage  colleciion  will  cause 
chaos.  Fo  illustrate  this,  try  adding  the  following 
line  to  Program  3: 
175    A$(1}="NEW    STRING    #1":X=FRE(0) 

If  there  is  enough  rooin  for  two  copies  of  the 
array  data  in  string  memory,  then  tlie  following 
two  lines  will  llx  the  [)roblem: 
125    IF    FRE(0)     <    270+TN*  (LN+2)THENPRINT"N0    R 

COM": STOP 
175    FORI=    0    TO    TN-1:    A$(I)=A$(I):    NEXT 

Line  12:")  forces  a  garbage  collection,  and 
makes  sine  there  will  be  enough  room  for  line  I  7."i 
to  execute  without  causing  another  garbage  collec- 
tion. Line  1 75  Fixes  the  pointers  bv  rewriting  all  of 
the  sorted  string.s.  C 


July,  1982,  Issue  26 


COMPUTE] 


191 


Hayden  Announces 
Tetrad:  A  New  Way 
To  Play  Tic-Tac-Toe 

Tetrad  is  a  game  of  strategy  and 
mental  daring  that  enables  a 
pla\  cr  to  match  wits  against  a 
computer.  Based  on  tlie  popular 
game  of  Tic-Tac-Toe,  1  etrad 
allows  the  tension  to  build  be- 
tween (jpponenl.s  as  each  tries  to 
get  four  X's  or  O's  in  a  row  in  any 
direction  on  anv  or  all  four  play- 
ing boards. 

Tetrad  has  a  board  that 
offers  16  S(;|uares  on  fourfliffcr- 
ent  levels.  The  additional  sc|uares 
and  boards  allow  76  po.ssible 
winning  combinations  —  nine 
time.s  more  ihan  con\eniional, 
iwo-diniensional  Tic- lac-Toe. 

I'laycrs  can  choose  from 
three  levels:  novice,  intermediate 
or  professional.  (Colorful  graphics 
accompanied  by  unique  soinid 
effects  make  I'etrad  a  new  way  to 
play  an  old  favorite. 

Tetrad  is  written  bv  Philip 
Hess  and  can  be  used  on  an 
Apple  If  disk  witli  :\2\\.  09809, 
$19.9.0. 

ihmU'ii  Hook  Co.,  Inc. 

>0' Essex  St. 

Roclu'lle  Park.  .\'J  07662 

Tnilf,;r(SOO)631-aS56 

orNJ:(201)8-43-(l53<l 

Corvus  Announces 
Mass  Storage  And 
Network  Systems 
For  Atari  800 

Corvu.s  Systems,  Inc.  announced 
the  availability  of  Winchester 
disk  systems  and  tlie  Corvus 
Multi[)lexer  l<jcal  area  network 
for  the  Atari  800  microcomputer. 


This  announcement  means  that 
Atari  800  owners  can  join  micro- 
computer users  who  enjoy  the 
speed,  reliability,  ancf  storage 
capacity  of  Corvus  6,  1 1 ,  and  20 
mcgabvtc  disk  systems.  It  also 
means  tliat,  with  the  Corvus 
Multiplexer  local  network.  Atari 
users  can  share  mass  storage  as 
well  as  printers  and  other  expen- 
sive peripherals.  Ckirvus  will  also 
oifei'  its  Mirror  backup  s\stem 
which  uses  video  tape  tet  hnology 
ior  Winchester  disk  backup. 
Prices  of  Corvus  disk  systems  for 
the  Ataii  800  start  at  $3. 195 
complete  with  interface  and  all 
lecjuiied  software. 

Connts  Systems,  Inc. 
2029  O'Tfiole  Avemie 
San  } OS,'.  CA  95131 
(■IOk}946-770() 

Software  Publisher 
Releases  P/SAT 
Preparatory 

Kdu-Ware  has  announced  two 
software  tutorials  for  college- 
bound  students  on  mastering 
voca!)iilary  and  deciphering  new 
worfls.  PSAT  Word  Atiack'skills 
and  SAT  Word  Attack  Skills 
prepare  students  speciflcalK  for 
the  "antonyms"  portion  of  the 
Scholastic  Acliievemeiu  Test. 

PSAT  and  SAP  Word  Attack 
Skills  each  contain  two  diskettes: 
Prefixes  and  Roots.  Vocabulary 


words,  selected  tor  their  fret]uent 
a]>pearance  on  the  PSAT/SAT, 
are  gioujjed  into  lessons  (six  per 
diskette).  In  each  lesson,  students 
first  pinpfjint  a  word's  meaning 
by  selecting  its  synon\  in.  The 
wore!  is  then  reviewed  through 
definition,  sample  sentences, 
analysis  oi  its  components  (root 
and/or  prefixes),  and  a  test  (|ues- 
tion.  A  timed  test  then  prepares 
siudents  to  function  under 
pressure. 

PSAT  Word  Attack  Skills 
and  SA  r  Word  .-\ttack  Skills  are 
independent  tutorials,  yet  can  be 
purchased  and  used  together  as  a 
comprehensive  .sequence.  Holh 
systems  are  a\'ailable  for  the 
Apple  II  and  li  Plus  computers. 


VIC*  OWNERS 


TELEGAMES 

BRINGS  YOU  fVlORE  SOFTWARE: 

BREAKAWAY  -  A  breakout  game 

using  paddles  -  $8.95 

TARGET  ZAP  -  Move  man  around 

screen  to  hit  randomly  appeorlng 

objects     $8.95 

HANGMAN  -  A  fun  and  educational 

game  for  oil  -  $7.95 

SUPER  TREK     Track  down  Klingons: 

then  destroy  them  (3K  exps.  req) 

$999 

LEARNING  SERIES  #1  -  First  of  a 
series  of  tapes  and  reference 
material  put  together  to  help  the 
new  computerist  learn  computing 
the  fun  and  easy  way^i  #1     $14.95 
CANADIAN  OR  US  FUNDS!! 
Send  check  or  M.O.  to: 
TELEGAMES 
P.O.  Box  152 
Hampton,  Ontario,  Canada  LOB  UO 


Write  For 
Free  Catalog 


'Trodemark  of 
Commodore 


^92 


COMPUTE! 


July.  1982,  Issue  26 


48K,  DOS  3.3.  Each  two^disk 
package  retails  for  $49.00. 

Kihi-Waii-  St'micfs.  Inc. 
P.O.  Box  22222 
Agoum,  CA  913U1 

Discover  FORTH 
Announced  By 
Osborne/ 
McGraw-Hill 


Osbonie/McGraw-Hill  has  re- 
leased a  new  book  by  Tliom 
Hogan  entitled  D/,vrf«7'r  FORTH: 
Leainiiig and  Progmmmnig  the 
FORTH  Language. 

This  intrcxhiclion  lo 
FOR  IH.  tlie  ( ompiiier  language 
of  building  blocks,  is  written  in  a 
fricndlv.  informal  stvle.  Begin- 
ners will  Inid  iniorniation  on  this 
multi-faceted  language  and 
insli "uclions  to  guide  iheir  |)ro- 
gramniing  skills  up  to  an  inier- 
meciiate  le\'el.  More  experienced 
programmers  can  use  H(}gan"s 


book  as  a  reference  tool. 

In  the  text,  Hogan  describes 
FOR  TH  syntax,  spccificallv 
applicable  U)  both  F0RTH'-79 
and  FIG-FORFH.  Notes  are 
included  on  logical  exlensioiis 
and  alternali\  es  to  the  current 
standard  FORTH  syntax. 


Discover  FORTH  provides  a 
history  of  the  language  and  a 
synthesis  of  material  frotn  pro- 
granuning  manuals,  indej)endent 
|irogranimers,  and  publications 
of  the  F'ORTH  Interest  CJroup. 

Discover  FORTH:  Learning  and 

Programminir  l/ic  FORTH 

L/ini^inigf 

h\  Tham  Hiignn 

$15.(H)  Paperback 

250  pages 

O.sborn  elMcG  ran '-  Hill 

630  Hamriifl  Way 

Berkeley .  CA  94710 

To  place  an  order  call: 
(415)548-280,5. 

Apple  Announces 
Price  Drop  For 
Monitor  III  And 
Apple  II  Stand 


Apple  Computer,  Inc.  ainioimces 
a  price  reduction  for  its  Monitor 
III  video  display,  and  introduces 


ATARI 


ATARI 


800  16K $665 

800  48K   $799 

400  16K $320 

New  Software  for  Atari 

TempJeol  ApshaJ S  30 

Apple  Panic ,  -  S  23 

Raster  Blaster $  23 

Bug  Attack S  23 

Bishops  Square S  23 

Graptiics  Master J  30 

Dung  Beetle S  23 

Actron  Quest I  23 

Crossfire. S  23 

Threshold S30 

Frogger S  26 

Computer  Stocks  &  Bonds S  17 

Guns  ot  Fort  Dellance S  1' 

Mousekattack %  26 

K-Razy Shootout J  36 

Jawbreaker .3  23 

Black  Forest J  20 

Ghostly  Manor J  20 

Tremendous  Discounts  on  All  ATARI 
software  from  Adventure  Internstional. 
Arcane  Plus.  ARTSCI.  Automated  Simu- 
lations, Anion  Hill,  BroderOund,  Budgeco. 
Cavalier.  Computer  Magic.  Crystal  Com- 
puter. Dalasoll.  Edu-Ware.  Gebelli.  Inno- 
vative. J-V.  K-Byte.  UK.  On- Line.  Quality 
Sollwsre,  Spectrum  Strategic  Simulation. 
Sublogic.  United  Soltware,  Versa  Com- 
ouiing.  Visicarp. 


The  Computer  Outlet  is  an 
associate  of  Ttje  Computer 
Learning  Center  For  Chil- 
dren. We  are  experts  m 
educational  technology  and  can  custom- 
ize educational  son^are  curricufums  for 
school  distncls.  individual  schools,  or  for 
the  child  at  home  Please  contact  us 
about  your  software  and  equipment  re- 
quirements and  feet  free  to  stop  by  our 
school  in  Las  Vegas. 

We  have  one  ot  the  world's  largest 
educational  soltware  inventories  featur- 
ing our  own  Computer  Learning  Center 
software. 


Ten  Little  Ro&ois  (ATARI) SI 2.95 

Preschool  Math  (ATARI) St9.95 

Funbunch  (TRSaOl $15,95 

Jacks  Jill  (TBS-aO) S12-95 


SPECIALS  OF  THE  MONTH 
BMC  13"  Color  Monitor  $309 
TI99/4A  Computer....  S325 

Axlon  Ramcram $142 

Hayes Smartmodem  ..$229 
Elephant  Disks  ..(boK)$  22 


SAVE  UP  TO  35%  on  Personal 
and  Business  Computers,  Perh 
pherals  and  sottware  from  these 
leading  manufacturers: 

Computers  —  Altos,  Commodore. 
Dynabyte.  Televldeo,  Texas  Instruments, 
Xerox, 

Modems  —  Hayes,  Lexicon.  Livermore, 
Noxation. 

Monitors  —  Amdek,  BMC,  NEC.  Sanyo, 

Printers  —  Anadex,  Diablo,  Epson, 
MEG.  Okidaia,  CITOH,  QUME,  Texas  In- 
struments, 

Wiscellaneous  —  Axlon,  Sorge  Sentry, 


The  absolute  lowest  prices  on  all  Appfe 
Software  from  Adventure  Inteinational. 
Astat,  Artsci.  Automated  Simulations. 
Avalon  Hill,  Avant-Garde.  Beagle  Bros.. 
Be?,  Broderbund.  Budgeco.  California 
Pacific,  Cavalier  Computer.  Continental 
soltware,  Dakin.  Datamost.  Datasoft. 
Delta  Software.  Denver  Software.  EDJ- 
Ware.  Gebelli,  Hayden,  Higtilands  Com 


puter,  Howard  Software,  Infocom.  Innova- 
tive Design.  ISM.  lUS,  LJK,  Micro  Lab, 
f/icro  Pro.  Microsoft.  Muse,  On- Line,  Pic- 
cadilly, Phoenix,  Soltware,  Quality  Solt- 
ware. fliverbanl<.  Sensible,  Sentient. 
Sierra.  Sirius,  Sir-Tech,  Soltape,  Stone- 
ware. Strategic  Simulations,  Sublogic, 
Synergistic.  Turniey.  United  Soltware. 
Versa   Computing.    Videx,    Visicorp    etc. 


YOUR  ONE  STOP  MARKETPLACE 
FOR  ALL  YOUR  COMPUTER  NEEDS. 
If  not  listed,  please  ask. 

Computer  Outlet 

Park  Place  —  Upper  Level 

1095  E.  Twain  -  (702)  796-0296 

Las  Vegas,  Nevada  89109 

Call  Toll  Free  800-634-6766 

We  accept  Major  Cretdit  Cards 


•vE2MPyTER_ 


1 

^K  commadare 

VIC20 $249 

VIC  Software 

Avenger     i  23 

Superslol $  23 

Super  Alien $  23 

Jupiter  Lander ,,....,..... S  23 

Draw  Poker S  23 

Midnight  Drive S  23 

Start  leel  Orion S  19 

Morloc's  Tower  S   16 

Dragon's  Eye i  19 

Spiders  ol  Mars $  42 

Robot  Blasters S  30 

Meteor  Run   $  42 

Blastoids  ,  , S  15 

Amok   $  15 

Alien  Blitz S   19 

Skymatn S  12 

Space  Division S  12 

Long  Division , S  12 

Gobbler S  19 

Tne  Alien   »  19 

Invader  Fall *  17 

Stars  Wars t  1* 

Laser  War t  15 

Dragon  Maze S  14 

Space  Intruders S  IE 

Computer  Slocks  &  Bonds $  13 

Guns  ol  Fort  Detiance  S  16 

AMI  Apple  Disk  Drives 

40  Track $345 

80  Track $399 

For  Fast  Delivery,  send  certified  or 
casfiier  checlis,  money  orders,  or  direct 
bank  wire  Iranslers.  Personal  checlis 
allow  2  to  3  weeks  to  clear.  25%  deposit 
on  all  C.O.D.'s.  Prices  are  mail  order  only 
and  are  subiect  to  change.  Shipping-Soft- 
ware (ti.OO  Minimum).  hardware-calL 
Nevada  Residents  all  sales  tax.  Foreign 
inquiries  invited  —  add  15%  lor  shipping. 


a  stand  which  permits  easy  use  of 
the  Monitor  III  with  the  Apple  II 
personal  computer. 

The  suggested  retail  price  of 
the  Monitor  III  is  now  $249.00,  a 
229f  reduction,  and  applies  to 
both  white  and  green  phosphor 
versions.  The  new  pricing 
reduces  the  total  system  cosi 
for  both  the  Apple  II  and  the 
Apple  III. 


The  Apple  II  Stand  is  de- 
signed to  the  exact  width  of  the 
Monitor  III  to  allow  aesthetic 
integration  into  the  Apple  II 
system.  The  stand  permits  easy 
accessibility  to  the  back  of  the 
Apple  li.  The  suggested  retail 
price  is  $29.9.5. 

Aj/pli'  Computer 
2U525  Mar'mni  Ave. 
Cupertino,  CA  95014 


Pall  PRICE.  f°rt,'9 

and  movies. 

commodore  VlC-20 


lin  Mass., 


,961-24001 


S319 

SV5 

$439 

. . .   S82 


cartridge  tor  Viu.. 


S^a.eofier  on  .re- 
stock iiems. 

Just  pick  up  t^f 

number,  and  ^f~^°' 
Xsto-aVOuour 

pB.l.C.E.list^ 

pB.l.C.E.  is^tiat 

you  want- 

avox  76O0  Odyssey  v         ^^  39.9S 

prices  suD/eci  lu  ^  ^  ^  "^ 


Micro 
HhDl 


lE 


BEST  PRICES 


VIC-20      $248 


5  VIC  Programs  $1 9.95 

States  &  Capitols,  Jackpot, 
Countries&  Capitols,  Blackjack, 
and  Hangman. 


COMMODORE  EQUIPMENT 

VIC  Printer 

»   320 

VIC  Disk 

$  487 

PET  401 6 

S    789 

PET  4032 

$    9S2 

CBM  8032 

SI  087 

Super  PET 

$1836 

Datasette 

$      63 

Single  Disk 

$   541 

4040  Disk 

$  983. 

8050  Disk 

$1333 

4022  Prinlsf 

$613 

8023P  Printer 

$   768 

8300P  Daisy  Printer 

$1732 

Xerox  820 

$2447 

Atari  400 

$   347 

Atari  800 

S    897 

Atari  Disk 

S   447 

Box  of  10  Elephant  Diskettes 

No.  1  S.S.  S.D.  Soft  Sector 

$      21 

Anadax  9501  Printer 

200CPS  Matrix-Graphics 

$1197 

Smith  Corona  Daisy  Printer 

LetterQuality,  Parallel  or  Serial 

$   787 

Comet  1,  124  GPS  Matrix  Printer 

Bidir.  Parallel  or  Serl-LmtdQty 

$   302 

Epson  MX70 

$    344 

Epson  MX80 

$   444 

Epson  MX80FT 

S    547 

Other  Brands  Carried:  NEC,  ALTOS,  NORTH 
STAR,  DIABLO,  QUME  OKIDATA,  TELE- 
VIDEO.  AMDEK,  MAXELL.  SCOTCH,  DY- 
SAN,  CITOH,  ZENITH  and  More. 

A>K  For  Catalog:  Specify  Commodore,  Alan.  Apple. 
Nonh  Star,  or  Peripherals. 


Ics 


Micro  Wholesale 


276  N.  University,  P.O.  Box  1243 
Provo,  Utah  84603  (801)373-2901 

Prices  arefororepaymernB/C8rtifieclchBcKadd3%(or 
Sank  Cards-  Personal  cnecks  accepted,  bui  will  delay 
stiipmenl.  Whan  possibla.  all  ilems  shipped  UPS,  treighl 
collecl.  All  sales  subject  lo  availability  and  stock. 


194 


COMPUTE) 


July.  1982,  Issue  26 


Sybex  Releoses 
Book  For 
Business  Managers 

Executive  Phinning  with  BASIC  by 
X.  r.  Bui  has  just  been  released 
by  Sybex.  With  this  boot;,  the 
business  manager  will  learn  to 
use  a  personal  coniptiter  to  ac- 
celerate decision-making  and 
planning  methods. 

Up-to-date  BASIC  decision 
iTiodel  computer  piograms  for 
business  management  are  pre- 
sented including;  Cost/Volume/ 
Profit,  Linear  Progranmiing, 
Inventory  Management,  Critical 
Path  Analysis  ancl  PER  T,  Expo- 
nential Smoothing,  Linear  and 
Multi-Linear  Regression,  Finan- 
cial Ratio  Analysis,  Discounted 
(lash  Elow,  Portfolio  Manage- 
meiu  and  more. 

Ihe  development,  rationale 
and  proper  use  of  each  decision 
model  is  carelully  outlined.  True- 
to-lil'e  application  examples  are 
provided  and  problems  are  fol- 
lowed up  and  solved  in  sample 
runs  of  the  programs.  Three 
appendices  complete  the  text:  a 
summary  olBASICI  instructions; 
a  collection  ol  subroutines  lor 
matrix  Algebra:  and  a  siminiary 
of  the  most  important  business 
.statistics  tools  along  with  BASK" 
programs  ih;n  perform  these 
algorithms. 


Executive  Planning  With  BASIC 
bv  X.  T.  Bui 

$12.9.5 

Ref.  B38()  ISBN:  0-89588-083-0 

.Syljex 

2344  Sixth  Street 

Berkelev.CA  94710 

(415)848-8233 


P.O.  Box  7498 
Menlo  Park,  CA  94025 

(4 15)966-1 54  5 


BIZCOMP       ^ 


Intelligent  Modem 
From  BIZCOMP 

BI7,COMP  Corporation  announces 
the  immediate  availability  of 
Model  1012,  a  microprocessor- 
based  !2()()«0()  baud  Intelligent 
Modem.  The  10 1 2  features  full 
Bel!  2I2.\  compatibilitv  and 
BIZCOMP's  keyboard  dialing. 

An  integral  serial  auto-dialer 
allows  kevboard  dialing  while  the 
low-power,  LSI  circuit  design 
gives  reliable,  coo!  running  oper- 
ation. A  Thompson  pre-fllter 
assures  excellent  data  iiitegrily. 
'Ehe  built-in  microprocessor 
provides  a  full  complement  of 
powerful  commancls  for  control- 
ling dialing,  auto-answer,  self 
testing  and  programming  modem 
|)ar;mielers. 

Front  panel  controls  have 
been  ergonometrically  designed 
lor  efficient  and  simple  use  by 
nontechnical  office  personnel. 
The  1012  is  fully  FCC  registered 
for  direct  connection  and  is 
packaged  in  a  stylish,  low-profile 
injection  enclosure  which  may 
be  itsed  as  a  base  for  a  desk 
telephone. 

Applications  include  remote 
datastations,  siore-and-forward 
electronic  mail,  computer- 
computer  file  transfers  and 
automatic  polling  of  unattended 
locations. 

inquirU's  Manager 
BIZCOMP  Corporation 


EPYX  Releases 
Exciting  New  Quest 
Game  For  The  Atari 

EPYX  has  relea.sed  King  /Vrtluir's 
Heir,  a  new  fantasv  quest  game 
for  the  Atari  400/800  home 
computer. 

In  this  legendary  realm,  the 
player  .serves  at  the  King's  right 
band.  Arthur,  King  of  the  Bri- 
tons, has  named  him  heir  to  the 
throne. 

But  the  player  must  pro\e 
himself  worthy  to  hold  the  crown 
of  Camclot.  Arthur  commands 
that  he  shall  go  in  quest  of  the 
treasured  Scix)ll  of  Truth,  hidden 
by  the  great  wizard.  Merlin. 

By  moving  hisjovstick,  the 
player's  computer  displays,  in 
full  color  graphics,  the  magical 
world  of  Camelot  and  its  mystical 
surroundings. 

Being  faithful  to  tlie  C'rown. 
the  plaver  accepts  the  royal  com- 
iTiand  to  retrie\e  the  scroll.  Merlin 
forewarns  liim  of  mvstcrious 
places,  grue.some  creatures,  evil 
forces  and  magical  objects  that 
enter  his  quest  at  every  turn. 

Defying  all  perils,  the  player 
journeys  through  an  ominous 
forest,  a  supcrnaiinal  castle, 
treacherous  caves  and  magical 
cities  —  a  few  of  the  seven  types  of 
realms  that  entice  him.  Some 
hold  necessary  supplies  and  even 
treasures,  but  in  others  he  is 
surrounded  by  evil. 

The  plaver  must  do  all  in  his 
power  to  ward  off  dragons,  bar- 
gain with  wizards,  and  subdue 
the  devil  himself,  as  more  than 
these  will  try  to  waylay  him  in  his 
quest. 

But,  amazing  treasures  will 
spur  him  on.  A  staff  th;a  ema- 
nates the  most  powerful  of  magic 
and  a  ring  with  supernatural 
powers  arc  among  the  wonders 
the  player  may  find. 


THE  MONKEY  WRENCH    FOR  ATARI 


$49.95 


A  BASIC  and  madiine  language 
programmers  aid  for  BOO  users. 
Plugs  into  right  slot  and  works 
witSi  ATARI  BASIC.  Adds  3  new 
direct  moite  commands  in- 
cluding auto  line  numbering, 
delete  lines,  change  margins, 
memory  test  renumber  BASIC, 
hex/dec  conversion,  cursor  ex- 
change, and  machine  language 
monitor. 
The  monitor  contains  1 5  commands  used  to  interact  with 
the  6502.  Some  are  display  memory/registefs,  disassem- 
ble, hunt  compare,  hex/dec  conuert,  transfer  memofy,  and 
printer  seticlear.  Uses  screen  editing. 

CASSriTE  BASED  MACRO 


# 


5^ 


ASSEMBLER/EDITOR 


'The  Compatible  Assembler/Editor" 

•  Macros,  Conditional  Assembly,  String  search  and/or 

replace,  standard  mnemonics,  (Ex:  LDA  (LABLE),  Yl 

►  Long  labels,  IWOVE,  COPY,  AUTO,  DELETE,  PUT,  GET,  etc. 

EPROMS  -  HIGH  QUALITY,  NOT  JUNK 


EPROM  PROGRAMMER 
FOR  PET  AND  ATARI  COMPUTERS 

The  BRANDING  IROf^  is  an  EPRDM  programmer  espedally 
designed  for  PET  and  ATARI  computers.  Programs  2716 
and  2532  type  EPROMs.  The  PET  version  plugs  into  the 
cassette  and  I/O  port  and  comes  witti  software  whidi  adds 
the  programmer  commands  to  the  PET  monitor.  The 
ATARI  version  plugs  into  controller  jacks  and  comes  with 
a  full  fledged  machine  language  monitor  which  provides 
30  commands  for  interacting  witti  ttie  computer  and  the 
BRANDING  IRON. 


PET  -  m.[ 


ATARI  -  S119.95 


5/4  INCH  SOFT 
SECTORED  DISKEHES 

Highest  quality.  We  use  them  on 
our  PETs,  APPLES,  ATARIs,  and  other 
computers.     522.50/10  or  SM.50f2(t 

PET  TERMINAL  SOFTWARE 

A  buy  you  RS-232  users  can't  pass-up.  Includes 
RS-232  tiarcJware  with  a  sophisticated  software 
package.  May  be  controlled  via  keyboard  or  from 
BASIC.  A  super  buy.  S129.95 

STARWRITER  F 10  DAISY  WHEEL  PRINTER 

PARALLEL  -  $1405,  RS-232  -  $1600,  TRACTORS  -  $210 


SIGNALMAN  MARK  I  DIRECT  CONNECT 
MODEM  -  $89.50 

Standard  300-baud,  full  duplex, 
answer/originate,  Powered  by 
long  lasting  9-volt  battery  (not 
indudedl.  Cable  and  RS-232 
connector  included. 

MAE  SOFTWARE  DEVELOPMENT  SYSTEM 
FOR  PET,  APPLE,  ATARI    fj. 

'The  Compatible  Assembler" 

•  Professional  system  for  development  of  Machine  Lan- 
guage Programs.  31  Characters  per  label. 

•Macro  Assembierrfext  Editor  (or  Disk-based  systems. 

•  Includes  Word  Processor  for  preparation  of  Manuals,  etc. 

•  Standard  Mnemonics  -  Ex.:  LDA  (LABEL),  V 

•  Conditional  Assembly,  Interactive  Assembly. 

•  Editor  has  string  search/search  and  replace,  auto  line 
numbering,  move,  copy,  delete,  uc/lc  capability. 

•  Relocating  Loader  to  relocate  object  modules. 

•  Designed  with  Human  Factors  Considerations. 

BEFORE  YOU  BUY  THAT  OFF-BRAND  ASSEMBLER, 
WRITE  FOR  OUR  FREE  DETAILED  SPEC  SHEET. 

PL*SHI1  EMS  Htntgtnent  Hi  iltiidei 
to  a1lw  $50.00  cr«m  to  ASM,'T[0 
owner's  i#io  want  to  upgrade  to  MAE. 
To  gel  this  credit,  return  ASH/TEO 
■anual   with  order   for  W>1. 


Olympic 
Sales 

^^   SERVING  YOU  SINCE  1947 

Company 


CABLEi-OLYRAV  LSA 

Main  Sfiowroom  &  Offices; 

21  6  So.  Oxford  Avenue 
(P.  O.  Box  74545) 

Los  Angeles,  CA  90004 
Telex:  67  34  77 


WE  HONOR  VISA 
and  MASTERCHARGE 


VfSA 


lag] 


ORDER  DESKS 

open  6  days  a  week! 

7:00  am  to  7:00  pin  Mon-  Sat 

Order  Desks:  (213)739-1130 


TOLL-FREE  TOLL-FREE 
(outside  [:alif.)  (within  Calif.) 
800-421-8045    800  252-2153 


Pricn  ihowm  art  for  mail  or  phone  ordin; 
Witt.in  difhlly  hiflier. 


Goods  subject  to  availability: 
OSC  wilt  meet  or  beat  almost 
any  advertised  price  as  lorig  as 
the  competition  has  the  goods 
on  hand;  not  responsible  for 
typographical  errors;  prices  & 
specifications  subject  to  change 
without  notice;  this  ad  supercedes 
all  previous  ads;  min  shpg  8,  hndig 
$5.95;  Send  S2  far  112-pg  catalog 


HEWLETT 
PACKARDJi 

HP-S7  sisas.ag  i 

32K  Bytet  tiandard  \ 

32K  Mem.  mod.     239.00   > 
MK  Mem.  mod.     337.00 
)28KMem.mod.  S37.0D 


aZ907A 

B2908A 

B29D9A 

HP-BSA 

HP-125 

HP-^IC 

HP41CV 

HP-41 

HP4I 

HP4; 

B2I06A 

)2170A 

t2160A 

121  El  A 

a21S2A 

HP-97 

HP-t7 

HP32E 

HP-33C 

HP34C 

HP-37E 

HP38C 

HP-11C 

KP-12C 

<290«A 

U9I11M 

989SA 

2E1IB 

2S0IA 


NewTI-g9/4A-4flKRAM 
lOOK  Tl  pans  w/Extended  Basic 
nrTI-LQGD  Re:St300  K/C.5$689.95 


Computer 
CompMlat 

Prog.  Kienrdic 
Prog.tciefititic 
Card  readei 
Plrntar 
Optical  w>rv<S 
41  C  Memory  module 
41C  Quad  mam.  mod. 
HP-ILinlerfice 
Cauetlt  drive 
HPIL  printer 
Prop.  Kien/prmter 
Hand-held  fulhy  proi] 
Scientific 
Prog,  uienlific 
Adv.  prog,  seiemific 
Buijneu 
Prog,  financiai 
Prog,  tcrtntitic 
Prog,  financial 
IrilfttCt  printer 
S%"  dual  driTT 
8"  dual  drive 
Impact  piinlef 
Letter  qrial.  pt^ 
Ma  noraae  ROM 
tROM 


85'ISDOZ  Plot/print 

85-151)03  l/DROM 

85151)04  MtriiRDM 

aS-15005  Adv.  prog.  ROM 

85.15007  Aiiambltr  ROM 

82903A  1EK  mem.  module 

82937A  HP-ia  interfeci 

t29]9A  Serial  inlariace 

12940A  GPIO  interftce 

82941 A  SCO   interfeea 

I2949A  Parallel  fV.  int. 

HP-7470A  Ni-ip<ed  color 


_jTpfie  pltr  ve/intrfc 


i19B5.D0 

1985.00 

IBB.OO 

248.00 

1«9.0<] 

297.00 

39.00 

28.00 

84.00 

109.00 

437.00 

397.00 

584.00 

309.95 

53.95 

93.95 

114.00 

77.95 

119.00 

114.00 

127.00 

E19.0O 

IE9g.0O 

4499.01) 

2999.00 

2999.00 

124.00 

124.00 

239.00 

124.0C 

124.00 

239.00 

169.00 

328.00 

338.00 

408.00 

431.00 

239.00 

1269.00 


While  uippfy  l«$t) 
CLOSE-OUT  ONPftiHTEHS 
PAPERTIGERbyl  DS 

•4I**'       n,,t,i  £x,<  Coil  iv*  Siif 

440  a  1Q34.00  733.00  09.15 

44S  0    a9«.00  53S.OO  5JJ.95 

*45       795.00  556.00  SIS.N 

CENTRONICS 

739-1     395.00  BSO.DO  UOJH 

737       895.00  GIO.OO  4»t.00 


lisxas  Instrumeiits 
Home  Computer 


10"  color  mctoilor  high  rtt 
32  K  memorv  module 
Extended  B»ie 
Speecil  tyntheiiztt 
Diik  memorv  ■''■''* 
Tckphone  couplet  (mod»m) 
Printer  (ulid  Ttiic) 
TI-LOGO 


TI-99/4A 

Only 

$29995 

HETAa   Vour  Coif 

374,95  339.95 
399.9  b  314.95 
100.00  75.00 
H9.95  129.95 
439.95  3S4.95 
;24.95  189.95 
399.95  319.95 
250.00    99.95 


MONITORS 

T?^"  Vaur 

Nifh  retolutron.  nwmbef  one  uiltrr  Prw'     Coir 

VM4U9    9-e&W  190.00  1S9.3S 

VMa215    IS-B&W<bilMgiittai)  149.00  II9.H 

0MSID9    9"Gr«n  vjmij«.,«om.  I0O.0Q169.JS 

DW012  i:"B&w  no.oom.K 

DMI112     l2"Grttn  ^SDOOZIM.IS 

DMCEOl  3 13  -  Colsr.  hr  quiliiy  <TD.OO  )9«.9S 

DMCin  3  13"  Calsr  RGB  hi  in  HS.DO  m.ii 

Dicm:  iNEW)i;'Bsw  17900 issis 

0M2112    INEW)12-Gi«0  199.00  1S9.99 
FiH  w/etM chiB  el  tacii  SifniD  nannef  «M  S49.M  tCO  p«n  netcA 

lujOiwtl  la  JM./   0A  nrw  ncclnr  a  or^4/jl 


^mi  commodore 

5K  PeriDiHl  Campuier         VIC^CU 
(Expands  to  32K1  Woikl  with  any  TV! 

Rrl3il:S300.00   Your  SPECIAL  Coir.S2S9.95 
FREEwitfi  purtliirf  VIC-20  one  149.50  LCD  Pen  Watcfi! 
Commodore  Oitaiette  Rscoider 
for  VIC-20  Your  C::st:$e8.95  We  larry  all  peiiplKrilt. 
software  &  access.for  the  VIC-20  (we  will  beat  any  price!) 


ATARP  IN  STOCK 
COMPUTERS 

FOR  ATARI  400  &  800- 

GHOST  HUNTER  (similar  Id  Pac-Man) 

Disk  $34.95    Cassette  S29.95 

Modyl  Rcij.i   Yt)i,f  Coil 

SOO    lOK  108000  S89.9S 

800    4aK  128000  789.95 

BOO    1G0K 

[800-32K  +  128RAMdiili|    1299.95 
810    Oisl(  drive  600  00  469.95 

Atari  VisiCalc  700.00  169.95 

825    Impact  F>ti         1000.00  779.95 

—ATARI  400^ 


Personal 

Coinpucer^ 

System 


SUPER  SPECIAL  -ATARI  400  I16K) 
ReiailSS95  0D        Youi  Cost   S299  95 
100  Ling,  uid  opr.  149.95 


S77S00 


hojiimnubii 
Color  TV  (44rnt 

Youf  Cost: 

$13995 


—^  Auri'j   game  cannage 

Pac-man  $27.95 


Epson 

-l        PRINTERS 

V»ur  Cow 

MX70  S299.9S 

MXU  virilh  |t(fira<  4*9.91 
MXIOFT  "  -  9J4.go 
MX1D0  ;t9.oa 

(iphtnx  fJnp  95.90 


[«WTTfL 
iELECTWjrUC5' 
iNtEluViSiCm 


$ 


229 


i95 


fnail  S325  00 
aninutEll  TV  gamel 


I  D  S  Piltm  Printeri- 
&  Software  for  Apple  Computers ' 
'call  lor  our  LOW.  LOW  prices!    ^^^, 
Immediate  delivery-     «,„,/        q^^' 
132  column  {color)     1995.00  179S.O0 
80  column  (B  &  W)  1 196.00    999.00 


lOOdaX    Hi|h  OiitMy  ttoniiori 


Modal 

100 

300  G 

Coloi  I 

Color  II    13"  Color, RGB  input.hi  resgrephis,  s^t 

Color  III  13"  Color.  RGB  240  line  lemlntjon 


Description 
1Z''BAV,  12HH! 
12"  Green,  TSMHi 
13"  Color,  NTSCmmp. 


Rei4«J        Cnii 

130.00  149,00 

269.00  199.00 

nput,audl(i  amp  a  tpkr  499.00  359.00 

1295.00  799.00 

Intion  699.00  459.00 


1<?6 


COMPUTE! 


July.  1982.  Issue  26 


He  may  discover  a  magnifi- 
cent ark,  which  acts  in  his  favor 
if,  and  onlv  if,  lie  lias  certain 
tuagic  in  liis  possession. 

If  he  uses  his  powers  wisely, 
lliev  will  hasten  his  quest  and 
safely  retmn  Iiini  to  Camelot  and 
the  Crown. 

King  Arthur's  Heir  is  avail- 
al)lc  now  on  disk  for  the  Atari 
4()()/S()()  (32K)  with  joystick  con- 
troller. The  suggeslecl  retail  price 
is,S29.95. 

KI')'X 

r.O.  Hm  t2-i7 

Mountain  Vinr.  CA  94040 

Microcomputer 
Index  To  Go 
Online  With  Dialog 

Microcomputer  In  format  ion 
Services,  piil)lisiu'rs  of  .Micro- 
computer Intlex,  has  announced 
the  availahility  of  Microcomputer 
Index  on  the  Dialog  Information 
Retrieval  Service.  Tiic  index  will 


articles  from  32  periodical 
sources  including:  BYTE,  In- 
foWorld,  InlerfiKc  .Age,  C'reativc 
Coin]niling  and  COMPUTE!.  I'he 
information  covered  includes 
microcompnler  articles,  .software 
rc\iews,  hardware  reviews,  book 
reviews,  new  product  descriptions 
and  more. 

Kach  citation  contains  an 
abstract  describing  the  article, 
complete  bibliograpliic  informa- 
tion and  assigned  descriptors. 
The  printed  version  of  Micro- 
coni|;)uler  Index,  wliich  is  pub- 
lished c]uarlerly,  is  $30  per  year. 

For  additional  information, 
contact; 

MicritrnmfxiU'r  hi/lt-x 

2464  Ei  Camniv  KmL  Siiilr  247 

Santa  Clara.  CA  95051 

(40,S)9S4-1097 


Dialog  hifonnaliaii  .S'cm'/cv.v 
3460  llilhiew  Avenue 
Pal,,  Alio.  CA  94304 
(4n)S5S-37^5 


l>egiii  online  service  with  over 
10.000  citations  during  the 
summer  of  1982. 

Microcomputer  Index, 
u  hich  is  also  availai)le  in  a  jirinted 
\eision.  began  publication  in 
1980.  The  index  is  a  subject  and 
abstract  gtiide  to  microcomputer 


Disk-O-Mate  For 
CBM  Disk  Drives 

( )piinii/cd  Data  .Svstems  an- 
nouiues  the  PH-()()3  I)isk-()-Mate 
for  Connnodore  2040/4040  disk 
drives.  With  Disk-O-Mate  the 


user  now  has  write  [irotect 
switches/indicators  for  each 
drive,  a  power  ON  indicator  and 
audible  erroi"  beeper.  1  he  ease 
of  write  protecting  dri\es  by 
switch  versus  diskette  laliels 
encourages  good  operating  pro- 
cedure to  prevent  accidentally 
erased  flies,  fhe  power  indicator 
and  error  bee})er  provide  valu- 
able disk  unit  status  to  the 
operat(jr. 

All  swil(  lies  and  indicators 
are  mounted  in  a  small  (2'"x3""xr") 
control  box  thai  may  i)e  placed 
on  ilic  disk  unit  or  neai  the  com- 
puter. The  control  box  connects 
bv  cable  to  a  ciriiiit  board  ^\•llicl1 
"piggybacks"  onto  a  2040/4040 
inteinal  lonnector.  Installation 
invokes  simple  recomiection  of 
internal  disk  unit  tables,  which 
can  be  act:oiiiplislied  without 
s|)ecial  tools  or  skills  or  auv 
soldering.  Full  instruciions  arc 
provided. 

Disk-O-Mate  is  shi]j]x'd  iully 
assembled  and  tested.  Price  is  in 
the  $70-$<S0  range. 

Ojitiiiiizi'fl  Data  S\sti'His 
!\().H,i\595 
Plaa'iitia,CA  92670 
i7 1 4)966-320 1 

Educational  Game 
Drill  From  School 
Courseware 
Journal 

Students  oi  any  age  may  n()w 
begin  to  find  the  tvpewritei'  and 
c()m]nitei  keys  by  loiK  h  and 
without  looking,  in  a  new  eduta- 
tionalK  designed  game  drill  by 
Scho(.)l  C^ourseWare  journal 
{previously  Corse  Ware 
Magazine). 

"4A'I'IN(i"  presents  on  the 
screen  the  names  of  the  keys  (or 
a  single  tvpewriler  row.  1  his 
presentation  encoinages  learners 
to  keep  their  eyes  away  from 
tfieir  fingers.  .4s  the  user  re- 
sponds to  letter  or  chaiactcr  cues 
correctly,  the  key  names  begin  to 
disappear  from  the  screen.  If  a 


SMITH-CORONA 
TPI 

^699 

Letter  Quality 

Daisy  Wheel 

12CPS 

Low  Cost  Text 

Printer 

OTHER  GREAT 
PRINTER  VALUES 


NEC  8023 t479 

NEC  7710 J2299 

Okidala  62 S479 

Olci<I(taB3 S719 

Epson  MXBO $429 

Epson  MXMFT S519 

Epson  1W 659 


Diablo  630 $1975 

Citoh  Prowrlter S479 

CBM/Dlsblo  Special S1649 

Trondcom  100 $269 

Cefitronlcs  739-f $479 

Cartronica  739-111 $579 


computer  mail  order 

east 
800-E33-8950 


In  Pa.  Call  (71 7)  327-9575 
477  E  Third  St. 
Williamsport,  PA  17701 


west 
800- 648-33 II 

In  Nev.  Call  (702)  588-5654 

P.O.  Box  6689 

Staleline,NV  89449 


ATARI 


« 
« 

n 
n 

! 

« 

N 
R 

n 

n 
» 

n 
n 

n 
n 

n 

N 

n 


■ 


800  ('»»)  649 

400   (16  K)  319 

410   Recorder  74 

810   Disk  Drive  439 

822   Printer  (THERMAL)  269 
825  Printer (80 COLUMN)          589 

830   Modem  149 

850   Interface  164 

853   Memory(i6K)  79 
ATARI   SOFTWARE 


4002 

4003 

4006 

4007 

4008 

40O9 

4011 

4012 

4013 


BASIC  CARTRIDGE 
ASSEMBLER  EDIT 
SUPER  BREAKOUT 
MUSIC  COMPOSER 
SPACE  INVADERS 
COMPUTER  CHESS 
STAR     RAIDERS 
MISSILE  COMMAND 
ASTEROIDS 


45 
45 
33 
45 
33 
33 
37 
33 
33 


4B3 

484 

404 

405 

4106 

4117 

ai26 

8121 

813 


THE   PROGRAMMER 
THE  COMMUNCATGR 
WORD  PROCESSOR 
PIUDT(EOUC) 
PROGRAMMING    2 
PROGRAMMING    3 
MICROSOFT  BASIC 
MACRO  ASSEM&EDIT 
CAVERNS  OF   MARS 


52 
299 
110 
99 
21 
^^ 
66 
65 
29 


CALL  OR  WRITE  FOR    FREE  CATALOG 

COSMIC   COMPUTERS 


RD. 


UNLIMITED 
SHIPPING  EXTRA  S2  MINIMUM 
PRICES  SUBJECT  TO  CHANGE 
CALIF.  RESIDENTS  ADD   TAX 


228  N.  PROSPECTORS 
DIAMOND  BAR,  CA 
91765 

OPEN  7  DAYS 
8am-  9pm 


(714)861-1265 


* 
* 


er  Products 


Tara  Coiiipiiit'i  i'lodiiti.s 
'MriH  Smirluvcslfni  Blvd. 
On-iiaid  I'liik,  N\-  Mil.'/ 
(71f;)()(i2-72l9 


Tai;!  (:i)iii[)LaL-i  I'lodiuss 
l(k').')  Sisnu-t  Kd.,  I'liii  :il) 

Mississaiiga.  Oiuario 

Canada  L4\V  IZ! 

(4lli)l)24-;iC).").') 


Introductory 
Offer  ^j^^,0 


PUT  AN  END  TO  YOUR 

ME.MORV  EXPANSION 

PROBLEMS! 

With  the  only  logical  choice  for  48K 
mernoiy  ex[jan.sion  of  the  Atari  400. 
Upgrade  with  the  new  Tara  C'.ompuiei" 
48K  RAM  card  for  Lhe  400. 
Features; 

•  Easy  iii.stallaiion. 

•Cooler,  le.ss  power  hungry  operation 
compared  to  standard  H5K  or  32K 
products. 

•  Uses  state-of-the-art  fi4K  Dvnamic 
RAMs. 

•  E.xtends  400  useable  incinorv  to  48K. 

•  Allows  liigher  perfoniiante  800  soft- 
ware lo  be  run  on  your  400. 

•  Quality  construction  with  golcl  edge 
connector. 

•  Allows  lor  disk  operation. 

Increase  the  performance  of  vour 
pei'sonal  system  efficiently  and  econo- 
mically with  the  new  Tara  Computer 
48K  R.A\f  card.  Av:iilat)le  diret  t  from 
I^ara  Cioniputer  or  froni  select  dealers. 


I'LL 
.SHI 


'.s 

I'l'INC 


(Dealers'  Inquiries  Welcome). 


W8 


COMPUTE' 


July,  1982,  Issue  26 


cue  is  missed,  Lhc  key  name  will 
reappear  lo  help  tlie  user.  The 
object  ()[  the  clriil  is  lo  make  all 
the  key  names  disappear  from 
the  screen.  A  summary  of  speed, 
accuracy  and  score  is  presented 
at  the  end  of  each  game  with  t:he 
previous  best  speed,  accuracy 
and  score  also  displayed. 

Students  are  encouraged  lo 
double  the  amount  of  their  drill 
In  the  question  DC)  VOL'  WISH 
to  TR^'  TO  BKAT  YOl  R 
SCiORK? 

Volume  2,  Number,'^  of 
School  Courseware  Journal, 
wiiich  includes  the  two  programs 
TYPING  ■  and  "SIGN  DRILL," 
costs  if  1 5.95  for  the  cassette 
version  ot  the  twcj  programs  (and 
$6.50  for  each  program  when 
included  in  a  school  year  subscrip- 
tion). The  programs  are  availaijle 
on  cassette  or  diskette  for  the 
Apple  II  lfiK,['RS-S()  16K,  and 
PET  8K  microcomputers. 

For  a  free  catalog: 

Srhool  (^iiiiiwi'W'fiir  jiiiinnil 
■I<:)I9  X.  MilUmmli.Siiitr  22211 
Fresno.  (.'.,-\  9372(1 

Data  Perfect  Atari 
From  UK 

LJR  Knterprises,  Inc.  aunoimced 
the  release  of  its  newest  program 
Data  Perfect  .llari,  lor  the  Atari 
. 100  and  800  compuler.  \Vritten 
in  machine  language.  Data  Per- 
fect requires  no  disk  swapping, 
and  is  f'ullv  interactive  with  LJK 
Wort!  Processor,  Letter  Perfect. 
This  user  friendly  program 
allows  the  operator  lo  design  his 
own  screen  mask.  The  single-load 
program,  which  is  menu  driven, 
lias  incor]M)rated  into  it  a  utilities 
.section,  as  well  as  a  report  gener- 
ator and  a  mailing  label  gener- 
ator. Multiple  searches  and  sorts 
are  allowed.  Ciomplete  formula 
operations,  as  well  as  mathemati- 
cal operations,  may  be  performed 
on  and  between  fields.  The  pro- 
gram supports  one  or  two  disk 
drives,  and  requires  a  minimum 


of  Wlls.  memory.  Use  with  anv 
parallel  printer  is  allowed.  The 
inlroductorv  cost  for  the  program 

is.S09,95. 

LjK  Kiilfiprixn,  Inc. 
P.O.  Box  10827 

St.  Louis.  MO  63 129 
i3 1 4)8-16^6 12-1 

Improved  Version 
Of  DOS  For 
Atari  800 

This  command-driven  K-DOS  is 
completelv  compatible  with  the 
Atari  2. OS  and  other  related 
software,  in  addition,  K-DOS 
supports  the  Atari  850  handler 
which  allows  the  use  of  printers 
and  modems. 

K-DOS  featines:  a  machine 
language  monitor  which  allows 


commands. 

The  40-page,  K-DOS  in- 
struction handbook,  with  disk 
attached,  is  easy-to-read  and 
designed  to  acquaint  program- 
mers with  all  of  the  K-DOS  fea- 
tuics,  and  will  give  personal 
compiuer  buffs  greater  reliabilitv, 
flexibility  and  control.  The  hand- 
book is  di\ided  into  fue  indi- 
vidual sections  for  quick  refer- 
ence and  also  contains  a  pocket 
Gommaiid  Sinnmar\  Gard. 

For  additional  details  and 
price  information  on  K-DOS  and 
liie  K-i)OS  Handbook,  please 
contact: 

John  Ma  lilies 
K-B)TF. 

17(15  Auslin.  P.O.  Box  450 
Tntx.  Mirhiiran  48()W 
(3f3)524-9878 


examination  and  alteration  of 
memory  in  hexadecimal  and 
displays  AT  ASCII  representa- 
tion; interception  of  the  break 
instruction  does  not  crash  the 
svstem,  but  takes  the  user  back 
into  K-DOS;  new,  powerful 
commands  reserve  and  erase 
memorv  and  may  be  executed 
when  the  BASIC  or  Assembler 
cartridge  is  in  control;  K-DOS 
allows  the  user  to  create  his  own 


New  VIC-20 
Program  By  RAK 
Electronics 

Budget  II  -a  new  home  budget 
program  that  maintains  a  full 
calendar  year's  budget  data  on 
tape  for  review  and  update,  l^he 
data  requires  input  ol  each 
month's  NET  INCOME  antl  16 
budget  categories.  After  all  of 


DISCOUNT 


APPLE' 


YOUR 

LIST  PRICE 


Daiid  s  Midnight  Magic 

Titfi  Arcade  Wachine 

Tiacit  AtliC* 

DOS  Bqss 

Rastef  Bl«sler 

The  Wome  ACuuunldnt 

Hon^nn  V 

CiSlif  Woitensiftin 

SupciTerl  II 

MouS»«lt»ch 

Bandits 

Go'tjon 

jeiiyiisri 

Joypnrt 

\\  II  arU't 

PFS  IN^A  InnpiQved) 

Visicatc  3.3 

ViSilrentl^Visiplot 

Ceif+ng  Ze'o 


J  34  &* 
*4  9i 

SW 

74  9S 
34  95 

150  00 
31  9& 
34  9S 

?4  95 

250  00 
300  00 
209i 


!  25  0U 
33  00 
Zi  M! 
1700 
21  00 
iiOO 
2i00 
31  00 
100  00 
25  00 
25  00 
25  OO 
29  9i 
2)00 
54  00 
21  00 
95  00 
199  00 
240  00 
21  00 


ATARI* 

YOUR 
LIST  PRICE 

r  ««ttra«n  [CI 

I«as 

33.00 

~  siti  Rtidtrs  (d 

»» 

MOO 

;;  FrogD«Mai 

34.H 

25.00  , 

]  auQ  AMick  It,  d) 
^  R«ftt«r  BlMIV  ld> 

».86 

21.00 
2100 

::  j««rD't«ii*r  (d.  ti 

»» 

2100 

::  TAni  VVizards  id) 
n  Apfil*  P*nlc  (dt 

2S.95 

7S-00 
21.00 

G  Malcn  Hftcara  (d) 

»»9 

21-00 

C  inrtilon  CKIon  (d.  II 

2<95 

UOO 

U  Vl»lc»lc  (d) 

!»(« 

194.«l 

;j  J«wbia«l<«r  Id.  t) 

W» 

21. W 

::  Survlvlil/Adv«nlui*  {II 

24  H 

IS.OO 

::  ShiiirMi  Aiii«n»  (d) 

»H 

2»«1 

.1  Siv  Wirrlof  (dl 

W» 

20  00 

SOFTWARE 
ACCESSORIES 


TRseo- 


YOUR 
LIST  PRICE 


]  Allan  Arrn«di{t} 

J   S0tC*  Fl9CkB{1) 

~  SUr  Scou!  (fl) 

'  Lun«i  L»nde«'(d) 

i  EHmintTor  (dl 

I  Ulgill»  AII«C)!41| 

1  P\mrmtoiCi  "Asixoida '  (i) 

:  Cruiti^Crumba 

&  Chomp  (dj 
J  R«scue  al  Rigal 
;:  Morloc's  Tow«r  {l| 
:  ln»iiilon  OnonIO 

Compulfrf  StOChl 

tna  BOndA  ir] 
~:  SuMr  Nov*  (fl! 
I  Dittnse  Comnand  in 
■.  G»i«ciie  flivoiL/tnori  |t] 


SUM 
18.« 
20  « 
Z0  95 

MM 
14  96 

20  95 
».» 
19  K 
24  95 

IfiOO 
19  95 
15» 
1495 


11.00 
1S.O0 
17O0 
1TO0 
16  00 
1100 
11  00 

22  00 
22  00 
16  00 
1S00 

1200 
1800 
1200 
11  00 


D  =  Di3k  T  =  Cassette  C  =  Cartridge 

STROM  as 

Systems,  Inc. 
P.O.  Box  197 
Plymouth,  Ml  48170 
(313)  455-8022 

Phone  orders  accepted  4  p  m.    7  p.m.  EST 


MANY  MORE  PROGRAMS  AVAILABLE 
WHITE  OR  CALL  FOR  FREE  CATALOG 


CP/M* 


YOUR 

LIST  PRICE 


Z  dBjM  II 
■J  CoDdor  III 
IZ  Ou4Ck  Scrwn 

C  CclcSlar 

D  B«ilc  H 

D  CPrM.TR&WMotfll 

C  Sup*fC*IC 

in  Spvtiaur 

V  T«»l  Wfller  III 

■n  SiBlpAk 

Z:  BSTAM 


t7W.O0 
906-00 
V4B0C 
495-00 
2»00 
3«00 
1&5.» 
2B5  00 
250.00 
125-00 
4B5  00 


525  W 
717.00 
124.00 
307  00 
190  00 
24900 
176-00 
212.00 
150.00 
100  00 
357  00 
T45  00 


SPECIALS 


Zenith  Green  Screen 

S120.00 

Moniior 

Verbatim  5%  incti 

26.00 

disks 

Box  ol  10 

Atari  Joysticks 

6-00 

Include  Syslem  Requirements  Witti  Orde' 


Address_ 
City 

State 


Ml  Residents  add  4%  Tax 


; :  Payment  Enclosed  , '  C.O.D-  Add  SS!" 
'.  Visa  "     Mastercard 

« Exp.  Date 

Sipnat  u  re ^^^ 


AddS2.00ShiRpino 


I 


UAAAlAAidhh 


AAlMBAli 


OB 


HAlAAi 


nroBB 


MTG^^'s'llil^^^ 


J^  „  ATARI  SPECIAL  OF  THE  MONTH 

REG   $1957 


ATARI  800  w  48K 
810  DISK  DRIVE 
850  INTERFACE 
EPSON  MX-80  OR 
C.ITOH8510 
PRINTER  &  CABLE 


NOW  $1849 


ATARI   ^^   ATARI 

800     ATARI     400 

, $679  S329 


ATARI  800  16K 

w48K 
ATARI  400  16K 
810  DISK  DRIVE 
410  PROG  REC 
850  INTERFACE 
820  IMPCT  PRINT 
822  THERM  PRINT 
825  80  CL  PRINT 
830  MODEM 
16K RAM  MODULE 
32K RAM  MODULE 
48K  RAM  MODULE 


679 
789 
329 
449 

84 
189 
264 
264 
629 
134 

84 
125 
249 


PASCAL  AVAILABLE 

REQU1RES2810        OlO 
DISK  DRIVES  iJ»H£. 


M'SOFT  BASIC  69 

AXLONRAMDISK  429 

VISICALC  159 

ATARI  WORD  PRO  119 

PER  FINN  MNGMT  59 

ASSEMBLER/ED.  47 

STAR  RAIDERS  42 

CAVERNS  OF  MARS  32 

PAC-MAN  (CART)  35 


VOUKE  TALKING. 


Tl'PE-'\-'rU,K" 


$329 


CALL  TOLL  FREE 
1-800-343-0854 

In  MA  (617)  969-1790 


TtM/rff  I  data 

I  systems 

Z-89  w48K  2075 

with  5  1/4  DISK  DRIVE  2295 

Z-90  w  64K  2295 

with  5  14  DISK  DRIVE  2549 

Z-47  8' DUAL  DISK  DRIVE  2995 

SUPERCALC  225 


^^ommodore 

UIC=20 


$249 


OUR  LOW 
PRICE 

DATASETTE  67 

1540  DISK  525 

EXPANSION  MODULE  145 

1515  PRINTER  345 

8K  MEMORY  52 

SUPER  EXPANDER  59 

PROGRAMMER'S  AID  52 

VIC  AVENGER  25 

INTRO  TO  BASIC  21 
CALL  FOR  VIC-20 

SOFTWARE 
DISCOUNT  PRICES 


MTG  Technical  Sales 

281  Needham  St.,  Newton,  MA  02164 

Out  Of  State  800-343-0854  -  In  MA  617-969-1790 

Do  not  send  cash.  Personal  checks  lake  2  weeks  to  clear.  Add  4%  for 
MasterCard  and  VISA.  20%  deposit  required  for  COD.  UPS  charges 
added.  We  cannot  ship  to  P.O.  Box.  All  prices  subject  to  change 
without  notice-  Delivery  subject  to  availability.  In-store  prices  may 
vary.  Not  responsible  for  typographical  errors. 

IN  STOCK  ITEMS  SHIPPED  WITHIN  48  HOURS 


WE 


CARRY  A  COMPLETE  LINE  OF  MICROCOMPUTER  AND  VIDEO  EQUIPMENT 
AND  ACCESSORIES  CALL  FOR  PRICES 


200 


COMPUTE! 


July,  1982,  Issue  26 


the  month's  data  is  input,  the 
data  is  saved  via  sul)i-outiiie  on 
the  Budget  11  Data  Tape  which  is 
included.  The  data  can  be  re- 
loaded iVoni  the  Data  l^apc  at 
any  later  time  tor  review  or  tip- 
datc.  Buds^et  II  can  display  each 
month's  data  in  dollar  aniomits, 
perc  eniage.s  and  ( olor  bargrajjh. 
In  adthtion  lo  the  12  months. 
Budget  II  can  dis[)lav  the  total 
\  ear  amoinits  and  the  month I\ 
average  of  the  months  with  data 
entered. 

Following  are  the  routines 
available  from  the  Menu  of 
Budget  11: 

1.  INPUr  N'L-'.VV  DATA:  Allows 
input  of  new  budget  data  of  each 
of  the  12  months  in  16  budget 
categories. 

2.  LOAD  DATA  TAPK:  allows 
the  loading  of  budget  data  from 
the  Budget  II  Data  Tape. 

3.  CREATE  \E\V  DA^IA  TAPE: 
allows  the  saving  ol  budget  data 
on  the  Budget  II  Data  Tape  after 
inputting  NEW  DATA  from  I 
above. 

4.  VIEW  DATA:  allows  the 
display  of  the  selected  month's 
budget  data  in  dollar  amounts, 
percentages  and  color  bargraph 
for  the  lb  budget  categories. 

5.  PRINT  (YEAR)  BUDGET: 
Using  an  optional  printer,  pro- 
vides printed  copy  of  each  month, 
total  year  and  average  month 
budget  data. 

Budget  II  can  be  used  each 
month  to  add  the  amounts  of 
that  month's  budget  data  and  can 
be  saved  over  again  on  tiie  Data 
Tape.  At  the  completion  of  the 
year,  a  new  \  ear  can  be  saved  tjn 
a  Nf'H' Data  Eape  allowing  multiple 
years'  files  to  be  maintained. 

Budget  II  requires  the  \TC:- 
20,  'VIC;-"l53(»  Daiaseite  and  the 
VIC-1 1 10  8K  Memory  Expander. 
Budget  II  including  documenta- 
tion and  Btidgel  II  Data  Tape 
sells  for  $9.95. 

VIC  FILE  is  a  multi-purpose 
cassette  based  file  system  lor 


VIC.  Commands  include  LOAD, 
SAVE,  PRINT,  ADD,  CHANGE, 
SOR7\  DELETE,  and  more. 
Expands  to  available  memory 
automaiically.  .Allows  |3rinier 
option.  Includes  manual  and 
data  cassette.  Rec|uires  minimum 
of  3K  expansion  with  yoiu-  \  K; 
computer.  ,S9.95. 

WAS  RECORD,  ati  Am- 
ateur Radio  ]>rogram.  main- 
tains your  Worked  .All  Slates 
record  for  HAM  Radio  with  a 
need/worked/conllrmed  stittus 
and  the  call  of  the  station  worked 
for  each  state.  Sutnniary  of 
worked  and  confirmed  totals  and 
pi  inted  routine.  Requires  a  \'IC 
and  3K  memory  expander  and  is 
available  on  cassette  tape  ior 
$6.95. 

RAK  Eli'clronif, 
P.O.Box  /5<S'5 
Orauiii' Park.  11.  32073 

Plug  In  BCD  For 
Apple  And  PET 
Computers 

Ocean  Instrimientation  Consul- 
tants announces  a  low  cost,  gen- 
eral purpose,  BCD  interface 
module  for  Apple  II  and  Com- 
modore computers.  Designed  lor 
the  researcli  laboratory  reciuire- 
ment,  this  imit  provides  an  instant 
interface  to  most  O.E.M.  lab 
instruments  from  digital  volt- 
meters to  mass  spectrometers.  In 
operation,  up  to  eight  digits  of 
BCD  plus  status  information, 
such  as  sign,  "off  scale."  etc.,  may 
be  directly  entered  as  a  BASIC 
variable.  At  present,  applications 
hidude  use  with  ORION  701A 
and  CORNING  1 12  pH  meters, 
H I  .AC  ]jarticle  counters,  and 
MICROMASS  mass  spectrome- 
ter. The  standard  package  comes 
with  interface  cable,  user 
specified  plug  and  diskette  con- 
taining machine  language  sub- 
routines and  a  demonstration 
program.  The  input  is  expand- 
able to  16  digits  and  the  unit  may 
also  be  purchased  with  user 


specific  software,  tailored  for 
special  needs.  $250. 


BCD 


model  lOOP 


ocean    instruments 


Ocftui  In.\lntmrnttilH»i  (■(i)i.\itl//iiits 
5<S'6  Kiiii^.^Unfii  Road 
Peiin-dalf.  Rl  02S82 

New  Education 
Microcomputer 
Literature  From 
Commodore 

A  new  informational  brochure  is 
availble  from  Commodore  Busi- 
ness Machines  Limited,  Scar- 
borough, Ontario  to  maximize 
the  understanding  of Oonnno- 
dore  microcomputer  capabilities 
in  the  educational  field. 

I  he  brochine,  entitled  "The 
Educational  Exjierience, "  covers 
all  aspects  of  Commodore  pro- 
ducts as  they  apply  to  education. 
Included  are  descriptions  of  the 
foiu"  Commodore  product  lines, 
available  education  grants,  edu- 
cational software  capabilities  and 
other  features.  Fhe  service  re- 
cords are  also  described,  as  well 
as  the  intelligent  peripherals,  the 
full  product  line  com])atibility, 
the  local  supjwi  I  in  the  form  of 
materials  and  dealers,  and  the 
networking  capability  of  Com- 
modore equipment. 

For  fiuther  information: 

Idx  Kennedy 

Market  Support  Manager 

Commodore  Business  Machnie.'. 

Limited 
3370  Pharmttey  Avettne 
Agincoiirl.  Ontario 
Ml\V2K-i 
(416)499-4292 


SOFTWARE  STREET 

PRESENTS 


^QQaSjM^ 


32  K  ATAAJ  0(SK 

$34.95 


800  Computer  16K $639.00 

41 0  Recorder $79.00 

850  Intf.  Mod    . $159.00 

830  Modem    $149.00 

Special  Software  Packages 

The  Entertainer    $84.00 

Star  Raiders,  Missile  Command, 
and  Joysticks. 

The  Programmer   $54.00 

Basic  Programming  language, 
Self  teaching  guide  to  Basic 
and  Basic  reference  manual 

The  Educator  $1 15.00 

410  Recorder,  Basic  programming 
language,  and  States  and  Capitals. 


TOP  SELLING  PROGRAMS 

Missile  Command $33.96 

Asteroids $33.96 

Invitation  to  Prog.  2   $21 .21 

Invitation  to  Prog.  3   $21 .21 

Assembler/Editor   $48.96 

Jaw  Breaker $25.95 

Cranston  Manor $24.95 

Dodge  Racer  $19.95 

Star  Raiders $39.96 

Sammy  the  Sea  Serpent $14.95 

Krazy  Shootout $35.95 

Space  Invaders   $35.95 


810  Disk  Drive 


. .  $429.00 


Call     or     write     for 
FREE  catalog. 


your 


Prices  subject  to  change 

THE  ABOVE  PfilCES  ARE  RDR  PHE-PAIDOBDERS. 


Software  Street 
3392  Clipper  Dr. 
Chino,CA91710 
(714)591-3061 


We  also  feature  tremendous  savings  from: 
Atari 

Atari  Program  Exchange 
Adventure  International 
Crystal 
P.DJ. 
L.J.K. 
Dynacomp 
Quality  Software 
AvalonHill 
Epyx 

Computer  Consultants 
Synapse 
Datasoft 
United  Software 
On-Line 
O.S.S. 
Software  Street 


Software  Street  Is  your  mail  order  ATARI 
discount  center. 

Shipping  costs: 

Software  -  minimum  $2.00 

Hardware  -  prices  will  vary  (please  call) 


A 

ATARI 


ATARI  IS  A  REGISTERED  TRADEMARK 


202 


COMPUTE! 


Julv,  1982,  Issue  26 


Promqueen 
Cartridge  For 
VIC-20 

The  Gloucester  Computer  Bus 
Co.  Inc.  Promqueen  C'aruidge 
provides  KPROM  prograinniing, 
operating,  and  emulating  capa- 
bility for  the  Commodore  VIC-20 
computer.  All  necessary  connec- 
tions are  made  when  the  Prom- 
queen is  plugged  into  the  VIC's 
cx]jansioii  port.  The  internal 
programming  \oltage  power 
supply  includes  current  limiting 
to  pi  event  damage  to  the  car- 
tridge or  the  computer  in  the 
event  ol  operator  error  or  faulty 
EPROMs.  rhe  Promqueen  sup- 
ports 2716,  2732A  and  2732 
EPROMs. 

The  Promqueen  contains 
four  kilobytes  of  RAM  for  testing 
programs  before  biu'iiing  them 
on  EPROM.  A  MIMIC  switch 
permits  an  external  computer  to 


access  programs  written  into 
Promqueen  RAM.  In  MIMIC 
mode  a  jumper  cable  connects 
beiwccn  the  Promqueen  zero 
insertion  force  socket  and  the 
socket  in  the  external  computer 
for  which  an  EPROM  is  desired. 
This  feature  allows  use  of  a  VIC 


with  Promqueen  as  a  develop- 
ment .system.  A  DIP  switch  deter- 
mines which  of  the  four  VTC 
expansion  blocks  is  occupied  by 
the  Promqueen.  This  allows  the 
I'romqueen  RAM  to  be  used  to 
expand  the  user  BASIC  memory 
of  the  VIC.  It  also  allows  the 
Promqueen  to  be  used  in  the 
(iommodore  Super  Expander  in 
conjiuiction  with  otlier  cartridges, 
such  as  Commodore's  VICMON, 
without  address  conflicts. 

EPROMs  in  the  ZIF  socket 

can  be  run  directly  on  the  VIC.  A 
ZIF  socket  isolate  switch  permits 
EPROM  changes  with  the  VIC 
on.  Thus  a  variety  of  routines 
from  different  EI'ROMscan  be 
used  to  develop  new  programs  in 
the  Promqueen  RAM. 

The  Promqueen  has  a  reset 
Ijutton  for  recovery  from  crashes, 
eliminating  the  need  to  store 
programs  before  testing  them. 

A  toggle  switch  sets  the 
Promqueen  for  either  27 1 6  or 


64KRAM 

for  ATARI 

ATARI  400® 
ATARI  800® 

32K  BOARD 

64K  BOARD  (tactory  installed). 
32K  BOARD 

64K  BOARD  (includes  software). 
128K  BOARD  (includes  software), 

$149.00 
$289.00 

$149.00 
S399.00 
$499.00 

Featuring: 

Complete  software  compatibility. 

Gofd-plated  contacts  for  long  life  &  dependability. 

90-Day  warranty. 

The  Memory  Mill 

P.O.  Box  317  Dept.  C 

Potter  Valley,  CA  92469 

Phone  (707)  743-1666 

Repair  of  the  400,  800. 

Custom  Designed  software  &  hardware  development  systems  for  400,  800. 

Dealer  inquiries  welcome. 

FREE  PRODUCT  CATALOG,  UPON  REQUEST. 

Visa 
Mastercard 

Calil,  residents  add  6'?%  sales  tax 

■ATARI.  400,  800  are  Irademarks  ol  ATARI.  Inc 

Accepted 

ECLECTIC  SYSTEMS  CORPORATION 
Order  TOLL  FREE  1-800-527-3135 


RO.  Box  1 1 66   1 6260  Midway  Road 
Addison,  TX  75001    (214)661-1370 


Authorized  w^  Commodore  service  center 

Sales  and  Service  of  the  complete  line  of  Commodore  products 
In  a  hurry?  Check  our  modular  exchange  program 


commodore 


HARDWARE: 

CBM  8032  Computer,  80  Column  S1065 

CBM  8050  Disk  Drive  1299 

CBM  4032  Computer  40  Column  965 

CBM  4040  Disk  Drive  965 

CBM  4022  Printer  595 

CBM  VIC  20  Computer  259 

CBM  VIC  1515  Printer  349 

CBM  8300P  (DIABLO)  1799 

CBM  VS 100  Cassette  65 

PET  to  IEEE  Cable  33 

IEEE  to  IEEE  Cable  39 


SOFTWARE: 

OZZ  289 

Wordcraft  80  289 

The  Manager  (Data  Base)  240 

WordPro  5+  319 

WordPro  4+  299 

VISICALC  169 

MUMPS  for  Super  PET  299 

CMS  Accounting  System  call 
Assembler  Development 

Package  77 

BASF  Diskette,  Box  of  1 0  30 


ANS  MUMPS  Programmers  Reference  Manual  SI  7.50 

MUMPS  Pockel  Guide  2.00 

Computer  Programming  jn  ANS  MUMPS  17.50 

BS232  Interface  for  Commodore  VIC  20  3995 

EIO  lias  two  serial  asynctironous  RS232  ports,  two  parallel  ports 
with  tiancfsfiaking,  one  shift  register,  two  16  bit  timers,  and  room 
for  Iwo  optional  buffer  IC  S-  !B8  00 

EIQ-C  Alternate  character  generator  ROtul  board  for  screen  display 
allows  you  to  display  characters  or  graphics  of  your  cfioice 
Alternate  characters  are  soft  selectable,  EIO  board  reouired    Call  for  price 
EIO-TX  Terminal  ROM  for  EIO  firmware  to  turn  your  CBIV1  into  a 
communications  terminal.  Store  and  transmit  from  disfi  to 
remote  host  and  terminal  EIO  board  required  49.95 

EIO-RS232  Cable  tor  EIO  board-  28  00 


BOOKS: 

Commodore  Software  Encyclopedia 

2nd  edition 
The  PET  Revealed 
Library  of  PET  Subroutines 
PET  Interfacing 
PET  Basic 
PET  and  IEEE  488  Buss 


9.95 
19-95 
19-95 
16  95 
12  95 
15.00 


OTHER: 

EPROM  Burner  for  CBfVI   burns  2716.  2732  Si  2532'  89  95 

Software  lor  EPROM  Burner  on  CBIvl  1 5  95 

DC.  Hayes  Smart  Modem  239  00 


ESC-1Q0  RS232  interface  manual  selector 
-switch  select  between  device  A.  B. 
or  C:  switching  25  conductors. 
Requires  no  input  power  and  uses  re- 
ceptacle type  OB25S  140.00 

ESC-120  f^43  TTY-EIA.'CURRENT  LOOP 
interface  uml  — converts  TTL  level 
signals  from  the  M4i  to  EIA  or  20ma 
oulputs.  Convert  EIA  or  20ma  inputs 
back  to  TTL  level  signals  for  the  Ivl43 
Single  printed  circuit  mounts  inside 
the  fv143  Comes  with  interface 
cable  65-00 

ESC-140  RS232  standard  interface  cable 
kit.  Build  your  own  cable. 
7  conductor  16.00 

12  conductor  19.95 

ESC-1 50  The  Electronic  Switch/Poller 
allows  a  single  computer  serial  port 
to  selectively  communicate  with  an 
assortment  of  peripheral  devices.  As 
many  as  seven  serial  asynchronous 
and  SIX  parallel  devices  may  be 
selected  This  concept  effectively 
creates  a  simplified  multi-drop,  pollea 
environment.  The  computer  main- 
tains control  of  the  network  and  may 


seize  any  of  the  peripherals  by  trans- 
mttttng  a  simple  escape  sequence  to 
the    ESC-150  438.00 

ESC-1 70  RICKETY IvIETEr-lndispens- 
able  hand-held  tool  for  trouble- 
shooting, checkout  and  installation 
of  RS232  type  serial  line  communica- 
tions systems  69.95 

ESC-1S0  RICKETYTRAp  is  a  small 
hand-held  device  whicti  when  inter- 
posed in  an  EiA/RS232  line  can 
monitor  and  trap  on  any  specific 
ASCII,  binary,  or  control  character 
ihe  RICKETYTRAp  can  also  monitor 
and  Irap  on  any  specific  range  of 
characters  bit  selectable.  This 
device  can  also  check  for  type  of 
parity  being  sent  and  proper  framing. 
The  RICKETYTRAp  is  switch  select- 
able for  1  or  2  stop  bits  and  can 
operate  at  speeds  of  150  to 
9600  baud  Call  tor  price 

ESC-200  PREDITOR  is  a  small  micro- 
processor with  ROf^  firmware.  RAM, 
and  8  RS232  asynchronous  serial 
input/output  ports.  The  PREDITOR 
is  available  in  either  stand-alone,  self- 


contained,  or  rack-mounted  models. 
The  PREDITOR  can  be  programmed 
by  firmware  10  function  as  a  prompter 
and  editor  in  a  distributed  processing 
network,  transforming  4  dumb 
asynctironous  terminals  into  4  iniel- 
ligent  terminals  communicating  with 
4  computer  asynchronous  input/ 
output  ports.  Call  for  price 

ESC.861f^1  The  DATA  CONCENTRA- 
TOR accepts  data  from  a  multitude  of 
inputs— printers.  CRTs,  parallel 
ports,  status  lines,  etc  —then  trans- 
mits Ihe  composite  (multipleKedl 
data  stream  down  a  high  speed 
synchronous  serial  line  to  a  remote 
DATA  CONCENTRATOR  The  re- 
mole  DATA  CONCENTRATOR 
separates  Idemuxes)  the  composite 
data  into  its  original  form  to  be  trans- 
mitted to  Ihe  computer  ports 
Alternately,  multiple  computer  port 
data  IS  multiplexed,  transmitted 
down  the  high  speed  synchronous 
serial  line,  demuxed.  and  finally  dis- 
patched to  Ihe  individual 
terminals  350  00 


Call  for  equfpment  not  listed 

Order  TOLL  FREE  1+800-527-3135 

1 0  AM  n?  4  PM  COT  Monday  through  Friday 

Texas  residents  call  I  +2 1 4-66 1  - 1 370 

V/SA,  MASTER  CHARGE,  MONEY  ORDERS,  AND  C.O.D.  "Certified  Check"  accepted. 
Units  in  stock  shipped  within  24  hours,  FOB.  Dallas,  Texas. 
All  equipment  shipped  with  manufeaurer's  warranty. 
Residents  of  Texas,  Louisiana,  Oklahoma  City  and  Tulsa,  Oklahoma  must  add  applicable  taxes. 
Be  sure  to  write  to  the  address  at  the  top  of  this  ad  for  more  information.  Dealer  inquiries  welcome. 


20A 


COMPUTE) 


July,  W82,  Issue  26 


2732A  EPROMs,  changing  the 
voltage  as  required.  2732s  can 
be  programmed  after  readjusting 
a  pot. 

A  general  purpose  hex 
loader  program  on  EPROM  is 
included.  The  program  loads 
into  the  VIC's  memory,  freeing 
the  EPROM  socket.  The  hex 
loader  permits  convenient 
loading  of  code  for  processors 
other  than  the  VIC's  6502.  It 
includes  labels,  block  move, 
offset  calculation,  number  con- 
version and  more.  Il  also  runs 
the  burn  process,  checks  EPROM 
erasure,  and  verifies  burns.  Soft- 
ware for  sKM'ing  BASIC  programs 
on  EPROM  is  included.  The 
user's  manual  includes  step  by 
step  instri!Ctions  as  well  as  tabular 
summaries  of  the  Keystroke 
command  options. 

The  Promijuccn  cartridge 
costs  Si 69.50.  [jIus  shipping. 


Gloucester  Comjmter  Bus  Co.  Inc. 
6  Brooks  Road 
Glouceslcr,  MA  01930 

(617)283-77  i9 


Career  Planning 
Moves  Into  The 
Home 

TSC,  a  Houghton  Mifflin  Com- 
pany subsidiary,  annoimced  that 
350  southern  Calilornia  house- 
h(jlds  now  have  access  to  career 
planning  and  guidance  informa- 
tion. The  Guidance  Information 
System  (GIS),  a  computerized 
career  data  base  maintained  by 
TSC,  is  one  of  the  services  made 
available  during  a  six-nine  month 
Los  Angeles  Times  Mirror  Vid- 
eotex experiment.  Both  two-way 
cable  and  telephone  lines  are 
delivering  this  information  to 
television  screens  in  the  Iiome. 


Richard  T.  BuescheL  presi- 
dent of  the  New  Hampshire- 
ba.sed  educational  and  informa- 
tional sfjftwaie  company, 
explained  that  the  computerized 
GIS  database  is  already  being 
used  by  over  one  million  cus- 
tomers at  4000  institutions  across 
the  coinitry.  The  service,  which  is 
ujxlaled  and  verified  annually, 
permits  subscribers  to  quickly 
identify  and  compare  on  the  TV 
screen  options  that  answer  their 
individual  vocational  or  academic 
needs  and  interests.  The  awesome 
information  bank  provides  four 
major  categories  of  information 
instantancouslv: 

1 .  The  OcciifHitional  Informa- 
tion covers  875  occupations,  with 
descriptions  of  ie)lis,  educational 
requirements,  training  I'outes, 
wage  levels,  working  conditions, 
and  more.  .Additional  informa- 


ATARI  800 


16K  $669 
32K  $749 
4SK  $819 


ATARI  400 


Hardware 

410  ProgTam  Recorder   . 
825  80  CDlumn  Printer 
SZO  40  Column  Printer 

830  Modem    

850  Interface  

16K  RAM   

Games 


Missile  Command 
Space  Invaders    .  .  . 
Star  Raiders     .... 
Caverns  ol  Mars 


Chess    34*" 

Pac  Han    .  .  .  34" 

Centipede  34*" 

Asteroids    -  34*" 

Software 

Entertainer       79"''       Programmer  .  . 

Educator    .     119""      Communicator 

Apple  Panic  ({or  Ataril    disk 

Raster  Blaster    disk 

Pool  1.5          disk 

Zorkl  or  II    disk     3 

Tumble  Bugs    disk 

Mousekattack   disk 

Gorf   disk 


,    79 

639 
269 
155 
159 
.     79 

34*" 
34'" 
36*' 
31'" 

S4"" 
319"' 

23*' 
23- 
27-.. 


A 

ATARI 


ATARI  810 
-   Disk  Drive 


Ck  commodore 

COMPUTER 


VI&20 


I  he  Irif-nJU  iiimpuEFr 

$249 


Wliard  of  Wor 
Ghostly  Manor 
Frogger 
Jawbreaker 
Soft  Pom  Adventure 
Threshold 
ELEPHANT  DISKS 


$449 


disk 

disk 
cassette  or  disk 
cassette  or  disk 

disk 

disk 
Box  of  10 


31" 
19*' 
27" 
23'" 
23" 
31'" 
23"' 


VIC  Disk  Drive   

VIC  Datasette  

Avenger   

Superslot  

Super  Alien 

.luplt^r  Lander   . 

Draw  Poker 

PRINTER  SPECIAL 
C.nOH  Promriter           $539.00 
Parallel  (NEC  PC  8023) 
Zenith  12"  Green  Monitor   


499 

.     69 

23" 

23*" 
23*" 
23*" 

23*" 


Prices  Are  For  Phone/ Mail  Order  Only.  No  Sales  Tax  On  Out  of  State 

Orders.  Ordering  Information:  We  accept  VISA/ Mastercard,  Cashier  or 
Certified  Check,  Money  Order,  or  Personal  Check  {AUow  14  days  to  dear).  Add 
3%  for  Shipping,  Handling  &  Insurance,  Calif.  Residents  Add  6%  Sales  Tax, 
Credit  Card  Orders  Add  3%  Surcharge.  We  Ship  All  Orders  UPS.  Catalog  ^l"" 


COUND 

"^  ELECTRONICS 


21999  Van  Buren  Street 
Grand  Terrace,  CA  92324 
(714)  783-0556 


e 


A-. 


^ 


.e 


►^ 


i^"^ 


r0 


PUBLICATIONS: 

CBM  User  Guide 7  95 

CBMBasic4.0Ref  Manual    ..9  95 

CBM  Disk  Manual 7  95 

CBM  Pnnlef  Manual  ,  ,  .  , 7  95 

MOS  Hardware  Manual 6  95 

MOS  Programming  Manual 6  95 

Tne  PET  Rewealed t995 

,^  Library  ol  PET  Subroulmes 19  95 

Commodore  SoUware  Encyclopedia 9  95 

CBM  Programmer's  flelerence  Manual 16  95 

CBM  EQUIPMENT: 

CBM  «16  CPU  (40  Col  Screen  16K  RAM) 790  DO 

CBM  4032  CPU  140  Col  Screen.  32K  RAM) 990  DO 

CBM  8032  CPU  ISO  Col  Screen  32K  RAM) 1090  DO 

CBM  8096  CPU  IBO  Col  Screen.  96K  RAM) 1 590  00 

CBM  Micro  Mainlrame  (Super  PET) 1690  00 

CBM  2031  Single  Dish  Drive  (170K  per  S.DisKeltel  .  .  570  00 
CBM  4040  Dual  Disk  Orive  (170K  per  5'<  Oisketlel  ■..  990  00 
CBM  8050  Dual  Dish  Drive  C  Meg  per  5-.  Oiskellei    .    1340  00 

CBM  4022  Tractor  Feed  Primer 625  00 

CBM  C2N  Cassetle  Deck  iNew  Style) .' 65  00 

CBM  CPU/IEEE  Cable    35  00 

CBM  IEEE/IEEE  Cable 40  00 

8023P  Dol  Matrix  Prmler  1 136  Col  .  150  CPS) 790  00 

Tally  B024-7  (7»7  Matrii)  Printer 1275  00 

Tally  8024-9  (7«9  Matrix)  Prinlcf 1425  DO 

eSOOP  Letter  Quality  Printer  (40  CPS) 1790  00 

VIC  EQUIPMENT: 

VIC  20  (Includes  HF  Modulator) 255.00 

VIC  Single  Disk  Drive  (170K  per  5%  Dishelte) 470  00 

VIC  Joystick '. 9  95 

VIC  Modem 102  00 

VIC  8K  Memory  Expander , .  59  95 

VIC  Supef  Expander 69  95 

VIC  3K  Memory  Expander 39  95 

VIC  2  Player  Game  Paddtes 19  95 

VIC  1S15  Graphic  Primer 325.00 

VIC  SOFTWARE: 

VT  106A    Hecrealion  Si«  Pack  iCasseiie) 43  95 

Includes  Car  Chase,  Blue  Meanies,  " 

Space  Math.  Slither/Super  Slither. 
Biorythm  Capability 

VT  107A    Home  Ulilily  Si*  Pack  (Cassette) 43  95 

Includes  Personal  Finance  1.  Personal  Finance  II 
VIC  Typewriter.  Expense  Calendar. 
Loan  1  Mortgage  Calculator   Home  Inventory 
VIC  1901  Vic  Super  Alien  (Carlridge) 

VIC  1904  Super  Lander  (Cartridge) 29  95 

VIC  1906  Drav»  Poker  (Carlridge)    29  95 

AMOK  (Cassette) '8  95 

VIC  Avengers  (Cartridge)    29  95 

Snakman  (Cassette) IB  95 

CBM  SOFTWARE:  COMING  SOON: 

Wordcralt  80  Wordprocessor   .   295  00     More  VIC  Peripherals  and  Sollwv 
Word  pro  4*  Wordprocessor  .  .    325  00      CBM  8250  Dual  Disk  Drive 
OZZ  Dala  Base  System 295  00     Data  Acquisition  and  Control  D< 


Tax  Preparation  System 
Dow  Jones  Portlolio  .  .  . 
The  Manager,  ,«....  ^ 


COMING  SOON: 

295  00  More  VIC  Peripherals  and  Sollwvare 

325  00  CBM  8250  Dual  Disk  D rive 

295  00  Data  Acquisition  and  Control  Devices 

200  00  uihmax 

S90  00  Co  mmodore  64 

115  00  More  VIC  Soltware  Gofl. 

250  00  Omega  Race,  W.jarO  ot  Wor 


All  Items  Insured 

COD  -  UPS 

Prepaid  Orders  Shipped  Free 

In  Slock  llen^s  Shipped  Wiihin  43  Hours 

MASTEflCHARGE  OR  VISA  ADD  3% 

GA   RESIDENTS  ADD  4%  SALES  TAX 


"CALL  ABOUT 
SUPPLIES" 


^  MART 


PO  Box  77286 
Allanta.Ga  30357 

404-981-5939 


\^^ 


0? 


^. 


^< 


^e 


J-'^ 
fO^  '    ^^\°^ 


^"^    .  00^    .n^^^ 


ss^ 


,\6 


^^ 


c^' 


^(® 


Qp 


l1&^ 


A0<5 


nJ\C' 


cp^ 


ATARI*  SOFTWARE  & 
HARDWARE 


at 
DISCOUNT 
PRICES 

from 


ADVENTURE  INTERNATIONAL  .Lisl  Retail 

ADVENTURES  #1  THRU  »I2  EACH  (Ti 19  9b 

LUNflfi  LANDER  (T/D) 14  95/19  95 

R£4FI  GUARD  (T/Q) 19  95/24  96 

STAB  TREK  3  5  (T/D) 19  96/24  96 

ARCADE  PLUS 

GHOST  HUNTER  IT/D; 29  95/34  96 

ATARI 

800  COMPUTER    16K 839  96 

ASSEMBLER  EDITOR  iCl H  95 

ASTEHOIDS  iCi 44  96 

MISSILE  COMMAND  (C| 44  96 

STAR  RAIDERS  IC) 49  95 

ATARI  PB0GR4M  EXCHANGE 

CAVERNS  OF  WARS  I T  or  Dl 29  96 

EASTEHU  FRONT  (194  1)  H  ui  Dl 29  96 

AUTOMATED  SIMULATIONS 

CRUSH.  CnUWBLE  &  CHOMP  (I  or  D; 29  95 

BICDCHEI  IT  or  Dl 19  95 

BUDGECO 

BASTEfl  BLASTER  iDl 29  96 

CAVALIER  COMPUTER 

BUG  ATTACK  lOl 29  95 

CODE  WORKS 

IRIDIS  tl  (T/Di 9.95/12  95 

IRIDIS  n  |T/Dl 15  96/18  96 

DATASOFT 

LE  STIC*  IJOVSIICK  COMTftOLLERl 39  95 

TEXT  WIZARD  ID) 99  95 

GEBELLI 

ANDROMEDA  iDl 39  96 

MATCH  RACER  (D] 29  95 

K-BYTE 

K-RAZV  SHOOT  OUT  IC: 49  95 

ON-LINE  SYSTEMS 

CROSSFRE  IT  or  01 29  95 

JAWBREAKER  iTor  D] 29  9S 

MOUSKATTACK  iDi 34  95 

THE  NEXT  STEP  iDl 39  95 

WIZARD*  PRINCESS  (Dl 32  95 

OPTIMIZED  SYSTEMS  SOFTWARE 

BASIC  A*   AND  05/A.   iDi 160  DO 

PERSONAL  SOFTWARE 

ViSlCALC  iDl 199  95 

QUALITY  SOFTWARE 

OS  FORTH  iDi 79  95 

SPECTRUM  COMPUTERS 

GALACTIC  CHASE  lI'Dl 24  95/29  96 

SUB-LOGIC 

ADVENTURE  ON  A  BOAT  lUi 19  96 

BLACK  FOREST  IDI '..  ig96 

GHOSTLY  MANOR  iDl 19  96 

SYNAPSE 

File  MANAGER  800  I  Dl 99  95 

PROTECTOR  IT/Dl 24  g6'29  95 


OUR  PRICE 

15  95 
11  95/15.95 
15.95/19  95 
15,95/19.95 


635.00 
47.95 
35.95 
35.95 
39.95 

25.45 
25  45 

23  95 
15  95 

23  95 

23.95 

7,95/10,35 
12,75/15  15 

31  95 

79  95 

31,95 
23,95 

39  95 

23,95 
23,95 
27  95 
31  95 
n  35 

120  00 

149  00 

63  95 


24  95 
24  95 
24  95 

79,95 
19-95/23-95 


(C)  ROM  CARTRIDGE        (D)  DISKETTE        |T)  CASSETTE  TAPE 

REPRESENTING  OVER  50  COMPANIES  WITH  500. 
PROGRAMS  AND  HARDWARE 

Write  lor  a  FREE  catalog  to: 

COMPUTER  HOUSE 

P.O.  Box  369.  Dapt.  10.  ManmiDtti  Lakes,  CA  93546 
(714)  934-8538 

rtrms  FOR  F/^STOEIIVERV.  Iind  carlKlid  cllickl.  montr  grdgri  or  Visi  or  IMtlMrClKl  numbar 
jnd  fixplrttlon  diti  Psrsanjl  ctiacki  ;aqulra  3  waehs  to  cl«ir  ADD  51  SO  tor  p4>tigi  Orrlars 
HIV  StOO  00  wi  piy  ihlpping  All  lotiign  ordars  idd  StO.OO  CALIFORNIA  raildanti  idd  6S 
tii   Pt£>s  lublad  Id  clDngi 

'  ATARI  rs  ^B  Iradamark  Dt  Aliri.  Inc 


206 


COMPUTEI 


July,  1982.  Issue  26 


tion  is  also  available  for  armed 
services  occupations. 

2.  Tlie  College  Information 
describes  3,300  two-  and  four- 
year  colleges,  universities  and 
technical  institutions  in  terms  of 
over  500  characteristics,  such  as 
programs  of  study,  location, 
enrollment,  competitivene.ss. 

3.  The  Graduate  and  Profes- 
sional School  Information  lists  over 
1 500  schools  offering  both  doc- 
toral and  nondoctoral  programs. 
Degree  requirements,  placement, 
financial  aid,  residence  I'acililies, 
and  costs  are  all  described. 

4 .  The  Financial  Aids  Infor- 
mation file  describes  in  detail 
national  funding  sources  and 
such  as  foundations,  business, 
the  military,  trade  and  labor 
organizations,  and  religious  and 
charitable  groups,  in  addition  to 
federal  programs. 

rsc 

Box  683 

Hanover,  NH  03755 
(603)448-3838 

The  VIC  Enters 
The  World  Of 
Radiocommunication 

C-onipulcr  World  in  the  Nether- 
lands developed  an  interface 
between  the  standard  VIC-20 
compLUer  and  a  radiotransmitter 
or  receiver.  It's  easy  to  use.  You 
plug  it  in  the  back  of  the  V\C.,  or, 
if  you  have  an  expansion  unit,  it 
can  be  put  in  the  expansion  unit. 
The  4K  machine  language  soft- 
ware is  in  EPROM.  On  tlie  card 
you  find  a  Morse  and  RTTY 
converter  and  decoder,  ^'ou  onlv 
need  the  output  from  a 
loudspeaker  or  headphone.  You 
can  eidier  transmit  or  receive 
R  1  r\'  oi'  Morse  signals.  On 
RTTY  you  have  all  iiaud rates  — 
i.e..  45.50,57,75,110,200  and  300 
Baud.  There  are  three  pro- 
grammable buffers,  each  of  150 
characters.  Five  buffers  are  pre- 
progranuned,  with:  Station  de- 
scription. CQcall,  CW  ID,  Auto- 
start message.  The  user  can  call 


each  of  these  messages  with  the 
functions  keys. 

The  Morseclecoder  reads 
every  message  in  Morse  code 
between  67  to  60  words  per 
minute. 

The  callsign  of  the  user  will 
be  transmitted  every  10  minutes 
in  Morse  code. 

There  is  also  a  version 
for  users  who  have  an  RTTY 
converter. 

For  more  information 
contact: 

Computer  World 
Hilvertsweg99-  1214JB 
Hilversiim,  Holland 
31-35-12633 


•  4  %  •  *  *  #  ^Jl'-fc  * 


VISICALC:  Home 
And  Office 
Companion 

Authors  David  Castlewitz, 
Lawrence  Chisauski  and  Patricia 
Kronberg  have  compiled  a  com- 
pendium of  VisiCalc  models  in 
VISICALC:  Home  and  Office 
Companion. 

Fifty  ready-to-use  VisiCalc 
models,  complete  with  sample 
print-outs,  descriptive  narratives, 
and  coordinate  listings,  are  pre- 
sented. Users  enter  their  own 
data  in  place  of  the  sample  data, 
or  substitute  a  label  or  list  of 
entries,  to  tailor  the  tnodels  to 
their  specific  needs.  Algorithms 
and  modeling  techniques  provide 
the  experienced  user  of  VisiCalc 


V^^-^c^^ 


-JU^S^ 


Kith  l^iblcki  Kranbers 
KistrallDnsb>  L .  O- Oiukman 


with  the  opportunity  to  custom- 
design  new  and  useful  models. 

The  models  cover  seven 
areas  of  application:  Loans  and 
Investments,  General  Business, 
Inventory  Control,  Advertising 
and  Sales,  Personnel  and  Depart- 
ments, Personal  Finance,  and 
Household  Aids.  All  models  are 
designed  to  accomodate  most 
computers  and  versions  of  Visi- 
C-alc.  The  models  can  be  entered 
on  SuperCalc,  too. 

To  place  an  order,  con- 
tact the  B(Kjk  Order  Dept., 
(415)548-2805. 

VISICALC: 

Home  and  Office  Companion 
Osborne! McGraw  Hill 
$15.99  paperback;  1 82  pages 


Neir  Produrt  relmscs  are  selcrtrd 
from  stilmiissionsjor  reasons  of 
timeliness,  available  space,  and 
general  interest  to  our  readeis.  We 
regi'el  that  we  are  unable  to  select  all 
neit'  product  suhmissious  [or  publi- 
cation. Readers  should  be  aware  llmt 
we  present  here  some  edited  version 
of  nuiterial  submitted  by  vendor^  and 
are  unable  to  vouch  for  its  accuracy 
at  lime  of  puhlicalion.  Q 


Lyco  Computer  Marketing  &  Consultants 

At  Lyco  Computers  we  offer  our  expert  services  to  help  our  customers  make  their  first  computer  purchase, 
schools  establish  a  computer  program,  or  evaluate  multitermlna!  systems. 

717-435-5197  


ATARI 

I  A  Warner  Communicalions  Company 
c  lytli  AIAKI  INC 


JULY 
SPECIAL 


32K  MEMORY  BOARDS  -    -^QOOO 

for  ATARI  400  &  800  with  1  year  warranty! !  ^^ 

ATARI  800  16K $665.00 

ATARI  400  16K $329.00 


1 6K  MEMORY  BOARDS    for  vie  20 $  99.00 


ATARI  HARDWARE 

ATARI  800  16K    .$665.00 

ATARI  40O  1 6K    $329.00 

81  0  DISK  DRIVE   $455.00 

41  0  CASSETTE  RECORDER   $  75.00 

850  INTERFACE $1 64.00 

830  PHONE  MODEM    $1 59.00 

825  PRINTER   $585.00 


CX4101 
CX4106 
CX4117 
0X8126 
CXL4002 
CX405 
CX4018 
CXL4003 
CXL4015 
ENTERTAI 

CXL4012 

CXL4013 

CXL401 1 

CXL4006 

CXL4009 

CXL4004 

CXL4005 

CX4015 

CX4107 

CXL4008 
GXL4022 
CX8130 

CX4114 

CX4108 

CX4102 

CX4121 

CX4123 

CX4119 

CX4125 

CXL4007 

CX4110 

CX4103 

CX404 

CX406 

CX40 

CX853 


PROGRAMMING  SOFTWARE 

INVITATION  TO  PROG  I    $21.00 

INVITATION  TO  PROG  2   S  24.00 

INVITATION  TO  PROG  3  $  24.00 

MICROSOFT  BASIC S  69.00 

ATARI  BASIC  CART  S  45.00 

PILOT  EDUCATOR   $109,00 

PILOT  HOME   S  65.00 

ASSEMBLER  EDITOR S  45.00 

TELELINK    $  24.00 

NMENT  &  EDUCATION  SOFTWARE 

MISSILE  COMMAND $  35.00 

ASTEROIDS $  35.00 

STAR  RAIDERS  $  37.00 

SUPER  BREAKOUT S  35.00 

CHESS $  35.00 

BASKETBALL  $  30.00 

VIDEO  EASEL $  30.00 

BLACKJACK  $  13.00 

BIORHYTHM $  13.00 

SPACE  INVADERS  ROM  $  35.00 

RAGMAN S  35.00 

CAVERNS  OF  MARS $  33.00 

STATES  &  CAPITALS $  1 2.00 

EUROPEAN  COUNTRIES  ....$13.00 

HANGMAN $  13.00 

KINGDOM    s  13.00 

ENERGY  CZAR   $  13.0a 

SCRAM $  19.00 

FRENCH  $45.00 

SPANISH $45.00 

MUSIC  COMPOSER   S  45.00 

TOUCH  TYPING $  19  00 

STATISTICS $  19.00 

WORD  PROCESSOR $1 29.00 

PERSONAL  FINANCE $  62,00 

JOYSTICKS  $18  00 

16KRAM    $85:oo 


THIRD  PARTT  SOFTWARE 

for  atari  800  or  400 

AUTOMATED  SIMULATION: 

Invasion  Orion    $  22.00 

Rescue  at  Regel  $  24.00 

Crush,  Crumble,  &  Chomp $  24.00 

Star  Warrior  $  35.00 

ATARI  PROGRAM  EXCHANGE: 

Eastern  Front  $  25.50 

My  First  Alphabet  $  25.50 

KBYTE:    K-RAZY  SHOOT  OUT  $35.00 


VIC-20 $259.00 

VIC1010  EXPANSION  MODULE  $135.00 

VIC1530  DATASSETTE $67.00 

VIC1 540  DISK  DRIVE $499.00 

VIC1515  PRINTER  $355.00 

VIC1210  3K  RAM  $35.00 

VIC1110  8KRAM  $52.00 

VIC1211A  SUPER  EXPANDER  $53.00 

VIC-20  SOFTWARE 

VIC1212  PROGRAMMER  AID    $45  00 

VIC1213  VICMON    $45.00 

VIC1  906  SUPER  ALIEN    $  1 9.00 

VIC1914  ADVENTURE  LAND 

ADVENTURE    $  3500 

VIC1915  PRIVATECOVEADVENTURE...  $35.00 

VIC1916  MISSION  IMPOSSIBLE $35.00 

VIC1917  THE  COUNT  ADVENTURE   ...$35.00 

VIC1919  SARGON  II  CHESS    $35.00 

THIRD  PARTY  SOFTWARE 

ALIEN  BLITZ  $  21  00 

SIMON $  10.00 

SATELLITES  &  METEORITES   $  21  00 

KOSMIC  KAMIKAZE   $  21 .00 

AMOK $  2 1  00 

SUPER  HANGMAN $  1  6  00 

SPIDERS  OF  MARS   $45.00 

To  Help  evaluate  your  needs  or 
If  you  wish  to  make  a  purchase 

CALL  US  AT  (71 7)  435-51 97 

LYCO  COMPUTERS 

P.O.  Box  10 
COGAN  STATION,  PA   1 7728 


208 


COMPUTE! 


July.  1982.  Issue  26 


Advertisers  Index 


AB  Computers  44,45,137 

ASAP  Computer  Products,  Inc 101 

Aardvark 79 

Abacus  Software 151 

Advanced  Computing  Enterprises  111 

Adventure  international  23 

Aibony  Typewriter  &  Computer  164 

Ttie  Alien  Group  125 

Ampiify,  Inc 149 

Anthro-Dlgitol  Software  137 

Apogee  Software  33 

Arma  Design  Group  152 

ArtwofX 85 

Atari,  Inc 7 

Automated  Simulations,  Inc. 73 

Batteries  Included  133 

Better  Solutions  149 

The  Bit  Bucket  110 

Br0derbund  Software  167 

Byte  Microsystems  Corp 190 

Byte-A-Bit  Computing  Co 173 

C-Mort  ., 205 

CFI   119 

CMS  Software  Systems 2,3 

Canadian  Micro  Distributors  29,31 

Comm'Dato  Systems,  Inc 114 

Commodore  Business  Machines  BC 

CompuServe 38 

COMPUTE!  Books  157 

COMPUTE!  Books  Programming  The  PET/CBM 134,135 

COMPUTE!  Publications  41 

Computer  Age  Software 87 

Computer  House 205 

Computer  Moil  Order 82,83,197 

Computer  Outlet 192 

ComputerMof  79 

The  Computer  Works 165 

Computertlme,  Inc 43 

Comquest  43 

Cosmic  Computers  Unlimited 197 

Creative  Software  16 

DTC  Software 115 

Dataview  Ltd 53 

Delta  Software  Co 158 

Don't  Ask  Computer  Software 91 

Dream  Print  Homes,  Inc. 91 

Dunham  Software  and  Consulting  Co 167 

Dynacomp,  Inc 47,48,49 

ECX  Company 158 

Eastern  House  Software  195 

Eclectic  Systems  Corp 99,203 

The  English  Software  Company  129 

French  Silk 145 

Gloucester  Computer  Bus  Co - 147 

HW  Electronics  107 

High  Country  Microsystems 127 

Human  Engineered  Software 131 

Hypertech 139 

ICS  Micro  Wholesale  1'?3 

IDSI  17 

Inhome  Software 171 

Intec  Peripherals  Corp 167 

Interlink,  Inc 38 

Jini  Micro-Systems  Inc - 11 

Krell  Software  Corp 65 

Leading  Edge IBC 

London  Software 173 

Lyco  Computer  Marketing  St.  Consultants  207 

MMG  Micro  Software  164 

MTG  Technical  Sales  199 

MW  Software 185 

Madison  Computer 155 


Magic  Carpet  115,184 

The  Memory  Mill 202 

Micro  Computer  Service  Center 187 

Micro-Ed,  Inc 77 

Micro  Printer  Marketing 21 

Micro  World  Electronix,  Inc 145 

Micromoil  183 

Micromint  Inc 95 

The  Microperipherol  Corporation  111 

Microsoft  4 

MicrospecLtd 155 

Mideostern  Software 172 

Midwest  Micro  Associates 115 

Mosaic  Electronics,  Inc .19 

NewEnglond  Electronics  Company  36,37 

Nudmehi  Software 11 1 

Nufekop  139 

Olympic  Sales  Company  195 

On  Line  Software 139 

Optimized  Data  Systems  96 

Optimized  Systems  Soflwore,  Inc 51 

P.  R.  Software 141 

P.R.I.C.E 193 

Pacific  Exchanges  20,26,62,86 

Percom  Data  Company,  Inc IFC 

Peripherals  Unfimited 32 

Philadelphia  Computer  Discount 161 

Precision  Technology,  Inc 115 

Pretzeltand  Software  143 

Professional  Software  Inc 1,9 

Program  Design,  Inc , 69,167 

The  Program  Store  70,71 

Protecto  Enterprizes  163 

Quantum  Data,  Inc 113 

Questar  International  Inc 117 

Quality  Software 105 

RAR-TECH  185 

RC  Electronics  Inc 25 

Random  Access  Computers  147 

Random  Access  Microware 127 

Renoissonce  Technology  Corporation 39 

Royal  Software 169 

SJB  Distributors,  Inc ..,..103 

Santo  Cruz  Educational  Software 63 

Sheridan  College  65 

Sky les  Electric  Works 61,158 

Small  System  Engineering   35 

The  Software  Connection   129 

Software  Galore 38 

Software  Street  201 

Solidus  Internatinal  Corp 59 

Sport  'N  Sound  Electronics  204 

Starbound  Software  33 

Strategic  Simulations  Inc 13 

Strom  Systems  Inc 199 

subLogic  Communications  Corp 67 

Sunrise  Electronics 185 

Sunrise  Software  25 

Swift/ Softwore,  Inc 153 

Synapse  Software 15,26 

T.H.E.S.I.S 65 

TSASA  147 

Tara  Computer  Products 197 

Tayiormade Software  ...147 

Telegomes ■  ■  191 

University  Microfilms 158,171 

VERVAN  Software 129 

Victory  Software  Inc - 145 

VixeL  The  Code  Works  149 

Voicetek 39 

Wunderware  '''15 


c 

S2 

CO 

0)0) 

11 

o 

■0 

D 

^  il  1 

Ik 

oc 

ica/Air  M 
i/Air  Mail 
ell  able  c 

i-   U  >- 

(D-s;  c 

Eo::'. 

<  O  >- 

_  _£  n 

S^B 

c<  S 

in 

1  u<5 

z> 

t  ^  (1) 

0 

^<  "5  o 

x: 

fi'jz  O  D 

"*" 

OJ  t  tot- 

Q> 

>  o  _~  D 

1  ^<^5y  o 

^a 

D 

^  H?  m  c 

UJ 

S  D<-E.Q 

^^ 

O  "O 

CD  Q)  <  o 

0. 
2 

on  rat 
Cano 
Europ 
Middl 
South 
Intern 

■^  ooooo 
.y-  o  o  o  o  o 

LO 

o 

Q   CO  00  CO  odco 

E 

® 

o 

^    </><jT- </></> to 

"D 

^  nnnan 

0 

z 

? 

<D 

o 

■>- 

0) 

(■■ 

lO 

o 

(U 

■> 

o 

X 

n 

LU 

f 

L 

o 

u 

() 

( 1 

c 

(U 

a 


-4 

C 

.  cQ  y 

^co  0 
0  0  0 

£  o  o 

^1 
§^ 

o  y 
o  § 
OiZ 

E.g 

0)  (1) 

£  E 
>^  >■ 

0  o 

CL  Q. 


n 


> 

o 
u 

0 
O) 

o 
u 


u 
o 
n 

$ 

Ik 

o 

UJ 


o 

d) 

n 

11 

(1) 

0 

* 

E 

n 

u 

0 

15 

n 

n 

a> 

iJ 

Q 

^ 

I—     >"     cmSfflsdiSiD 
Q    (D     Oct  isc^  Kc:  mCi: 


O 

D 


D 


lL  O. 

^  Z 

D  o 

0)  o 

E  >■ 

o  2 

U  -5 


(1)  d)      Qj      (i> 

J  ?    J    ^ 

a>  a)      Q)      Qj 


*  DD  n  □  n 


■  z 

<  r-. 

5  u 

<  =5 


(1>  0!  OJ  0}  Q) 

0  0  b  5  5 

52  S  5  5 

nn  □  a  a 


c 
o 

B 
y 

Q 

a  . 
o  s 


0) 

0)0 

P  0) 


in 


It 
c  © 

o 


2o  of 
ai>;  (J  o 
n  o  D  -^ 


0)  OJ 


a>  0)  a 
3  5  5 

<u  <i)  u 


S 

o 

If 
o    S 

ID 
0) 


D  DD  nnn 


O        (DO 

o     5  5 

C    DD 


03  a>  a> 
boo 
SS2 

nnn 


3 

o 

>- 

o 

D 


D 


3 
O 

o 

"O 

o 
5 


3 

N 

of 

n 

3% 

IS! 

S2 

"el 

^o 

I 

c 

Q. 

o 
o 


C/5 

o 

□ 


0) 

c 
o 

0) 

> 

o 

JZ 


5    5 


a 

Q. 

< 

z  □ 

a 
E 

o  ^ 
O  <^ 

20  D 


c 

8.0- 

^n 

OJ  -  m 
~  TD  O 

0  o  !: 
(D  2  o 

I- 

0  ffl  ;=; 

^ — •  trt    (J 


=1  o 

o- 


C  cO 

-•e-o 


,5  3^^ 

t^t^co 

^^^Tf 

^  .-  O 
0  n  OJ 

0OO 

, 

ooo 

0) 

ooo 

J= 

oo-q- 

^ 

CMfOlO 

o 

<jy<rKjy 

DDD 


a 

X 


0) 

a 


c 
o 
o 


0 

_i  E 
>  < 

DD 


nn^ 


® 

Ul 

g 

u 

0 

u. 

-1 
-1 

c 

CO 
« 

O 
00 

to 

2 

03  V 

no 

to 

o 

o 

O 

■ 

o 
o 

CO 

0 

u 

n 

D 

J 

O 

z 

u. 

u 

c 

i2 

8  s 

(0    ^ 


0) 

0)  o 

o  OJ 

5  O 


u 


-dS 


3 

0) 

rn 

" 

_J 

CB« 

(11 

VI 

n  u 

u 

-1 

(J 

fc 

r 

to 

Q) 

r-n 

(11 

*(0 

h 

(D 

T3 
0) 


a-  * 

O     " 


0) 

a 

X 

LU 

1 

n 

^^ 

() 

^ 

D 

o 

s^^ 

JS 

:>  o 

n 

□  ^ 

X 

LU 

a. 
S 

o 
o 


-I 


0  0 


o 
o 

a 

s  i 

D    Si 

<      =  -       r. 


l&  % 

0  3  0 

a       o  a  m 

o.       Eg  ^ 


01 
T3 


5  S 
£  O 


==  "^  II  ll  § 


i   St 

O    0.0. 


D 
S 


a 


0 
O 
CO 


E 

D 


5 


-&1 
u 


CD  ^2 
CD  ^2 

^  =^  C 
O  O  m 

Z  X  Q 

Oai<e 

-M  O  N_ 


x"2 

<D  go 

533 


8  o 


o 


CD 
CD 

en    __ 

Ocn<9 

•^  OH. 
O       n> 


(D§  Q 
S  3  G 


0^0 

CD  5^ 
(0 

D" 
O 

O 


O 

o 

CD 


O 


o 
o 


CD 

o 

Ca5 


ro 

iC 

"^C/5 

r-  ^^ 

sz 

sm 

iC/3 

?c/) 

n 

roTI 

-m 

S"D 

ffll- 

05  ^S 

e 

0  -^ 

r- 

000 

>  00  !!] 


<3 

o 

CO 


Q 

(O 

Q 

N 

3 


DD 

C 

C/) 

-n    ^^^ 

^2 

sm 

%(/> 

10) 

s^ 

^rn 

c-p 

si— 

%< 

Ui 

?^ 

> 

|— 

r 

7: 

7' 

^ 

H 

-n 

m 

u 

m 

D 

en 

H 

5 

H  > 

IF 

m 

0 

rn 

ni 

> 

> 

u 

JU 

m 

m 

m 

w 

^^X.Vf^: 


'^mh 


SAVE  6 INCHESJO  POUNDS.  AND  ^80a 


On  the  new,  siicked-up. 
uimmed-down  Starwriter  F-IO. 

It's  C.  l[oh's  latest  genera- 
tion of  letter- quality  printers. 

It  cranks  out  flawless  copy 
at  40  cps;  and  its  full  15' 
carriage  lets  it  double  in  brass 
for  both  letter  processing  and 
business  applications.  You 
can  plug  it  into  alniost  any 
micro  on  the  market  (serial  or 
parallell  sjmply  by  plugging  it 
in.  And  then  rnake  it  keep  on 
trucking  with  inexpensive, 
easily  available  Diablo  com- 


patible daisy  wheels  and 
ribbons. 

In  Its  serial  mode,  it  can 
print  just  about  anything 
(including  boldface,  under- 
lines, subscripts  and  super- 
scripts!, and  snap  the  carriage 
back  to  start  the  next  line 
in  less  than  a  second.  In  its 
line  mode,  it  prints  in  both 
directions,  for  even  faster 
throughput. 

While  making  about  as 
much  noise  as  a  cat  walking 
on  Kleenex.1 

it's  a  nice,  portable  30 
pounds- about  10  pounds 


lighter  than  the  Starwriters 
before  it.  And  it  stands 
exactly  as  tall  (or  precisely  as 
small!  as  a  dollar  bill. 

Speaking  of  which: 

Incredibly,  the  Starwriter  F-10 
sells  for  about  the  same 
preposterously  low  price  as 
its  predecessors.  Which  is  to 
say.  about  S8C0  less  than  a  lot 
of  other  printers  that  don't 
even  come  close  to  measur- 
ing up.  Or  even  better. . . 

Measuring  down. 


Distributed  Exclu- 
sively by  Leading 
Edge  Products,  Inc., 
225  Turnpike  Street, 
Canton,  Massachu- 
setts 02021.  Call:  toll- 
free  1-300-343-6833: 
or  in  Massachusetts 
call  collect  16171 
828-8150  Telex 
951-624. 

LEADING 
EDGE. 


COMMODORE  Wmi 

THE  WONMR  COMPUTER 
OF  THE  1980s.  UNDER  sSOOr 


-WILLIAM  SHATNER 


W^VJ} 


nil     Kt    •*»*•    ai^     OP    an    do     f?^      ^ 
:-*■/•'**       i»       a       M       J       i<       il      '5i      .f,      —        *_.. 

•'-        -  -^        Ji«        p-j        r^Jl        ^f,        f^g        g,g        ^j3 

*       i.     .      --    M-    tivt    rtPfl     * 


"The  best  computer  value  in  the 
world  today.  The  only  computer 
you'll  need  for  years  to  come." 


r 


VIC-20®  VS.  OTHER  HOME  COMPUTERS 


Pr(jdii€*  Fcatun* 

Commodore 
MC.20 

Atari' 
408- 

<(9/4A 

TRS-SO 

Color 

Computer 

I'ncL'  ■ 

s.2y').95 

S.l'W  (10 

S454(Xj 

S^WM) 

MaximumRAM  Mcrnnr}' 

.<:k 

I6K 

4SK 

32K 

Kcytxari)  Style 

I-UIISIK- 

Tvpe*ntcr 
■  Style 

Flat 

Plaslie 

Membrane 

Full-Siic 

Tvpewriter 

■  Style 

CaJcuklor 
Sl\k 

^J 

Number  of  Keys 

66 

57 

-18 

^3 

1 

Proiirjmmable 
Funclion  Keys 

J 

0 

0 

0 

Graphic  Symbols 
On  Keyboard 

h: 

0 

0 

(1 

Displayable  Characters 

si: 

256 

192 

256 

Microprocessor 

6502 

6502 

TMS9900 

5809 

Aecessiblc 
Machine  Lanj:u:i(;e 

YKS 

YES 

YES 

YES 

L'ppcr'l-nwcr 
C[isc  Charaflers 

YES 

YES 

YES 

NO 

Operates  \sith  all  Peripherals 
iDisk.  Prinierund  Moderns 

YES 

NO 

YES 

YES 

Pull  Screen  Editor 

YES 

YHS 

YES 

NO 

Microsoft  Basic 

Slarsljrd 

N  A 

N:A 

S  99.011 

Telephone  Modem 

SI  10, (K) 

?iw.y5 

S45H.00 

$l54.'t5 

StItJMCH  t 
t>Rl\'E  ROAD 
HAC 


iII,F.t.ML*,Ml:S 
FPOM  or  (KB 
SP\C!£ 


*Mftiiufac(urer*SAU££eited  retail  priec  Mar  i.  1982 


Read  the  chart  and  see  why  COMPUTE!  Magazine'  calls  the  VIC-20  computer 
"an  astounding  machine  for  the  price."  Why  BYTE-  raves:  "...the  VIC-20 
computer  unit  is  unexcelled  as  a  low-cost  consumer  computer."  Why  Popular 
Mechanics '  says   ". . .  for  the  price  of  around  S300.  it's  the  only  game  in  town  that  is 
more  than  just  a  game."  And  why  ON  COMPUTING  INC.-"  exclaims:  "What  is 
inside  is  an  electronic  marvel. . ,  if  ii  sounds  as  if  I  'm  in  love  with  my  new 
possession.  I  am." 

The  wonder  computer  of  the  1980s.  The  VIC-20  from  Commodore,  worlds 
leading  manufacturer  of  a  full  range  of  desktop  computers.  .See  the  VIC-20  at  your 
local  Commodore  dealer  and  selected  department  stores. 

1  ApfilKlisjuc         2Ma)Hlissuc         .' November 'HI  issue         4  Katl'.fli.sue 


Commodore  ConsunuT  P.'odtiels  l)[\  lvi,iii 
4K7  Devon  Park  Drive.  Wayne.  PA  I91)K^ 
Canadian  Residents:  Commodore  Compaler  Svstems 
.'.170  Pharmacy  .Ave. .  Agincourt.Om..  Canada.  M1W  2K4 

I'Icascscnd  me  more  information  on  the  VIC. 20, 


CO:'--"'--- 

COMPUTER 


I   Addrcs- 
(  City    _ 


.  State_ 


—  Zip_